스푸트니크 2021. 9. 10. 22:21 BeautifulSoup 모듈BeautifulSoup 모듈의 정의 - 홈페이지 내 데이터를 쉽게 추출할 수 있도록 도와주는 파이썬 외부 라이브러리 - 웹 문서 내 수많은 HTML 태그들을 파서(parser)를 활용해 사용하기 편한 파이썬 객체로 만들어 제공 - 웹 문서 구조를 알고 있다면, 아주 편하게 원하는 데이터를 뽑아 활용할 수 있음 BeautifulSoup 모듈 사용법 BeautifulSoup은 HTML을 파싱하여 구조화하는 모듈로 urllib, requests 모듈 등과 함께 사용 -> requests 모듈이나 urllib모듈 등으로 웹 문서를 텍스트로 가져온 뒤 BeautifulSoup 모듈로 분석 샘플용 데이터
BeautifulSoup 모듈 임포트
실행결과
<a></a>
<html><head></head><body><a><p></p></a></body></html>
<?xml version="1.0" encoding="utf-8"?> <a><b/></a>
<html><body><a></a></body></html> BeautifulSoup 모듈 에서의 검색이쁘게 불러왔으면 쓸 정보를 추려내야지.. 태그: HTML의 해당 태그에 대한 첫 번째 정보를 가져옴 ->태그[‘속성’] : HTML 해당 태그의 속성에 대한 첫 번째 정보를 가져옴
<title>NAVER</title> title NAVER https://static-whale.pstatic.net/main/ find(): HTML의 해당 태그에 대한 첫 번째 정보를 가져옴 - find(속성 = ‘값’) : HTML 해당 속성과 일치하는 값에 대한 첫번째 정보를 가져옴
<a href="#newsstand"><span>뉴스스탠드 바로가기</span></a> find_all(): HTML의 해당 태그에 대한 모든 정보를 리스트 형식으로 가져옴 - limit 옵션으로 개수 지정 가능 - css 속성으로 필터링 (class_ 로 클래스를 직접 사용 혹은 attrs에서 속성 = 값 으로 필터링) - 문자열(string)으로 검색(해당 값이 있는지 없는지 검사할 때 활용, 정규 표현식과 함께 활용)
[<a href="#newsstand"><span>뉴스스탠드 바로가기</span></a>, <a href="#themecast"><span>주제별캐스트 바로가기</span></a>]
<a href="#newsstand"><span>뉴스스탠드 바로가기</span></a>
['자동완성 끄기'] [] #찾는 문자열이 없으면 빈 리스트
['네이버를 시작페이지로', '쥬니어네이버', '네이버 카카오 폭락장 지켜본 외국계 증권사…"전형적인 매수 기회"', '네이버뉴스', '언론사가 직접 편집한 뉴스들을 네이버 홈에서 바로 보실 수 있습니다.', '네이버 개발자 센터', '네이버 D2', '네이버 D2SF', '네이버 랩스', '네이버 정책 및 약관', '네이버 정책'] select_one(), select() - css 선택자를 활용하여 원하는 정보를 가져옴(태그를 검색하는 find, find_all과 비슷함) - select( ‘ul > 태그’ ) 형식으로 해야함 html 구조 복습 겸 재확인, 알아야 크롤링한다.
<a href="#newsstand"><span>뉴스스탠드 바로가기</span></a>
<a href="#newsstand"><span>뉴스스탠드 바로가기</span></a>
BeautifulSoup 모듈 에서의 가공get_text() : 검색 결과에서 태그를 제외한 텍스트만 출력 - get(‘속성’) : 해당 속성의 값을 출력
<span class="blind">NAVER whale</span> NAVER whale
<span class="blind">NAVER whale</span> ['blind'] |