-
웹 스크래핑(web scrapping)
HTML Parsing 웹 페이지의 HTML을 분석하여 필요한 URL을 추출하는 HTML 파싱 작업이 필요
파싱은 특정 텍스트를 부석하여 그 데이터로부터 필요한 정보를 추출하는 과정
정규 표현식(regular expression, regex)
일종의 문자를 표현하는 공식, 특정 규칙이 있는 문자열 집합을 추출할 때 자주 사용하는 기법
문법
메타문자(meta-characters) : 문자를 설명하기 위한 문자.
문자의 구성을 설명하기 위해 원래의 의미가 아니라 다른 의미로 쓰이는 문자
. ^ $ * + ? { } [ ] \ | ( )
기본 메타문자 [ ]
[ 와 ] 사이의 문자와 매칭하여 해당하는 텍스트가 있는지 찾으라는 뜻.
[abc] # before의 b를 검색
- 를 사용하여 알파벳 전체나 한글 전체 텍스트를 찾을 수 있다.
[A-Za-z] [가-힝] [0-9]
반복 관련 메타문자 -, +, *, ?, { }
[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] # 휴대전화번호 표현
+ : 해당 글자가 1개 이상 나타나는 것을 뜻함
[0-9]+-[0-9]+-[0-9]+-
{m,n} : 출현 횟수를 지정. m은 시작, n은 끝. {1,}처럼 끝 값은 지정하지 않고 오픈 가능. 1번 이상은 출연해야 함.
[0-9]{3}-[0-9]{3,4}-[0-9]{4}
? : 반드시 한 번 만 반복
01[01689]?-[0-9]{3,4}-[0-9]{4}
반복 관련 메타문자 -, +, *, ?, { }
* : 0번부터 무한대까지 반복 가능.
+ 는 {1,} 와 같고, * 는 {0,} 을 뜻함.
tomor*ow는 아래 모두를 포함한다. 0이 없어도 무방하다는 의미를 가지고 있기 때문.
tomorrow
tomoow
tomorrrrow그 외 메타문자 ( ), ., |, ^, $, \
( ) : 메타문자의 묶음을 표시.
사용하지 않아도 되지만, 묶음으로 데이터를 받아 처리할 때 영역 설정 가능.
. : [.]는 일반적인 마침표를 뜻하고, (.) 는 줄 바꿈 기호를 제외한 전체 문자.
| 와 ^ : or나 not을 의미.
(0|1){3}
[0-9]{2}[^:][0-9]^와 $ : 정규 표현식이 처음과 끝을 표현하는 메타문자.
'개발 > Python' 카테고리의 다른 글
Python_ 웹 크롤링 정의, 웹 스크래핑과 비교 장단점 (0) 2021.11.22 Python_ 웹 스크래핑 & 웹 크롤링 정의 (0) 2021.11.22 Python_ 웹 스크래핑, 주식 정보 읽어와보기 (0) 2021.11.18 Numpy_ 개념 및 정의, 배열 생성, 기본 작업, 유니버셜 함수 (0) 2021.11.18 Python_ 쥬피터 노트북 사용법 단축키, Jupyter notebook (0) 2021.11.18 댓글 (비로그인 댓글 허용하지 않습니다.)