re란?
re는 파이썬 기본 라이브러리로 별도 설치가 필요 없다.
re를 사용하면 특정 규칙을 가지고 있는 형태의 정보만 선택해서 가져올 수 있다.
re 예제
re를 import한 다음 아래와 같이 쓰면 된다.
- re.findall( 정규표현을 활용한 규칙, 값이 담긴 변수명 )
- .+?는 하나 이상의 글자를 의미하며, (.+?)는 해당 위치에 있는 값을 선택하는 것이다.
- ( )안에 들어가는 것이 내가 추출하고자 하는 정보를 뜻한다. 한번에 여러개의 가로를 쓸수 있음.
- ( )에 담긴 정보는 배열의 형태로 반환된다.
- re의 findall 메소드를 사용하면 반환 값이 하나여도 배열을 반환한다. 그렇기 때문에 일반적으로 2차원 배열이 반환 된다. 그래서 그 안의 정보를 가져오기 위해서는 배열변수명[ 1차 인덱스 ][ 2차 인덱스 ]으로 접근해야 한다.
- 그리고! ( )로 반환 된 값은 튜플로 반환된다. 튜플을 변경이 불가능 하기 때문에 읽기만 가능하고 수정 불가능하다.
import re
a='''{name:'홍길동',age:20}'''
info=re.findall("{name:'(.+)',age:(.+)}",a)
print(info)
print("이름:",info[0][0])
print("나이:",info[0][1])
(결과값)
ㅇ re 예제 2
import re
data='''<member><name>홍길동</name><age>20</age></member><member><name>박자바</name><age>25</age></member><name>파이썬</name><name>노드</name>'''
list_name=re.findall('<name>(.+?)</name>',data)
print(len(list_name))
print(list_name)
list_member_name=re.findall('<member><name>(.+?)</name>.+?</member>',data)
print(len(list_member_name))
print(list_member_name)
(결과값)
반응형
'Python > Python Crawling' 카테고리의 다른 글
파이썬 크롤링, 웹 이미지 저장(파일 저장 방법) (0) | 2019.05.09 |
---|---|
파이썬 크롤링, BeautifulSoup으로 정보 가져오기 (0) | 2019.05.09 |
파이썬 크롤링, requests로 네이버 웹 정보 가져오기 (0) | 2019.05.09 |
파이썬 크롤링 기본, 정규표현식이란? (0) | 2019.05.09 |
파이썬 크롤링 기본, requests와 re & BeautifulSoup 개념 및 설치 (0) | 2019.05.09 |
댓글