Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 비선형성
- 인터스텔라
- 통계오류
- 산입범위
- 핵 개발
- 아인슈타인
- 비율
- 수학적 사고
- 자기관리
- t-test
- 최저시급 개정안
- 핵개발
- 비행기 추락
- 찬물샤워
- 성악설
- R 기초
- 최저 시급
- 조던피더슨
- t검정
- 큰수의 법칙
- 통계 오류
- 선형성
- 멘탈관리
- R4DS
- 티모시페리스
- 동전 던지기
- 이기적 유전자
- 산입 범위
- R 프로그래밍
- 유닛테스트
Archives
- Today
- Total
public bigdata
파이썬을 이용한 웹 스크래핑(edwith 강의) chapter 1 정규식-3 본문
Python programming/웹 크롤링
파이썬을 이용한 웹 스크래핑(edwith 강의) chapter 1 정규식-3
public bigdata 2019. 11. 24. 23:58
#########3강########
# 이메일 호스트 추출1(기본 방법)
data = 'From stephen.marquard@uct.ac.za Sat Jan'
st = data.find("@")
ed = data.find(' ',st)
host = data[st+1:ed]
print(host)
# 이메일 호스트 추출2(split 메서드 이용)
data = 'From stephen.marquard@uct.ac.za Sat Jan'
words = data.split(' ') # 공백 기준 나누기
email = words[1]
pieces = email.split('@')
print(pieces[1])
# 이메일 호스트 추출2(정규식 이용)
# 이번엔 정규식을 사용한 방법입니다.
# 여기에서 '^ '는 공백문자가 아닌 문자를 의미하며
# '^'가 중간에 들어갈 경우 뒤에 오는 문자를 제외한 패턴을 의미합니다.
import re
data = 'From stephen.marquard@uct.ac.za Sat Jan'
y = re.findall('@([^ ]*)', data) # 공백 제외한 단 하나의 문자가 *(하나 이상)
y # ()을 사용한 이유는 @가 매칭에는 필요하지만
# 결과로 가져오지 않을 것이기 때문\
# 여기서 조금 더 정교하게 하면
import re
data = 'From stephen.marquard@uct.ac.za Sat Jan'
y = re.findall('^From.*@([^ ]*)', data)
y
## 종합예제 : 패턴 추출 및 최댓값 찾기
import re
hand = open('C:/Users/senior201701/새 폴더/2. 분석/5. 파이썬 크롤링(edwith)/mbox-short.txt')
numlist = list()
for line in hand:
line = line.strip()
stuff = re.findall('^X-DSPAM-Confidence: ([0-9.]+)', line) # '([0-9.]+)' : 0-9 까지의 값 또는 . 매칭이 1개 이상 되는 경우
if len(stuff) != 1 : continue
num = float(stuff[0])
numlist.append(num)
print('Maximum:', max(numlist))
# 예외 문자(Escape Character)
import re
x = 'We just received $10.00 for cookies.'
y = re.findall('\$[0-9.]+',x) # "[0-9.]+" 이 부분은
print(y) # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, . 을 매칭한다. 그리고 그 문자가 1번 이상 반복되는 경우 매칭
x = "$" # 즉. $만 온 경우 매칭 안된다.
y = "$1.0"
re.findall("\$[0-9.]+", x)
re.findall("\$[0-9.]*", x)
re.findall("\$([0-9.]+)", y)
사용된 TXT 파일
'Python programming > 웹 크롤링' 카테고리의 다른 글
파이썬을 이용한 웹 스크래핑(edwith 강의) chapter3 웹서비스 (0) | 2019.12.02 |
---|---|
파이썬을 이용한 웹 스크래핑(edwith 강의) chapter2 HTTP (0) | 2019.11.25 |
파이썬을 이용한 웹 스크래핑(edwith 강의) chapter 1 정규식-2 (0) | 2019.11.17 |
파이썬을 이용한 웹 스크래핑(edwith 강의) chapter 1 정규식-1 (0) | 2019.11.17 |