💡
• 정적 웹페이지
urllib + bs
requests + bs
• 동적 웹페이지
Selenium + chromedriver
동적페이지 크롤링
Selenium 셀레늄
브라우저를 제어해서 크롤링하는 방법
# 라이브러리 설치
selenium : python interpreter 에서 설치 (또는 pip install selenium)
chromedriver : 크롬브라우저 버전확인 (92.0.4515.159)
☑ selenium으로 브라우저 DOM에 접근하는 함수들
▪ 리턴타입 : 단일객체 (cf. bs find())
∙ find_element_by_id
∙ find_element_by_class_name
∙ find_element_by_css_selector
∙ find_element_by_xpath : xml 문서 접근하기 위한 문법
∙ find_element_by_name
▪ 리턴타입 : 리스트 (find_all())
∙ find_elements_by_id
∙ find_elements_by_class_name
∙ find_elements_by_css_selector
∙ find_elements_by_xpath : xml 문서 접근하기 위한 문법
∙ find_elements_by_name
💡 xpath
∙ / : 절대경로
∙ // : 문서내에서 검색
Ex)
∙ //@href : href 속성이 있는 모든 태그
∙ //a[@href="http://google.com] : a태그의 href 태그의 속성값이 구글인 것 찾기
∙ (//a)[3] : 문서에서 세번째 a태그
∙ //table/tr/* : 모든 테이블에서 모든 자식 tr 태그 선택
∙ //div[@class="abc"] " div 태그에서 class 속성이 abc인것 찾기
∙ //div[@id="abc"] div 태그에서 id 속성값이 abc인것 찾기
'basic > python' 카테고리의 다른 글
[python 08] 크롤링(5) 시각화, oracle db 연동 (0) | 2021.08.27 |
---|---|
[python 07] 크롤링(4) - 데이터 처리할때 사용하는 라이브러리 numpy, pandas (0) | 2021.08.26 |
python 05 [실습03] 네이버뉴스 크롤링 (0) | 2021.08.24 |
python 05 [실습02] - find_all(), select() 함수 사용하여 원하는 태그 찾기 (0) | 2021.08.24 |
python 05 [실습01] 파싱하기, 태그접근하기 (0) | 2021.08.24 |