<퀴즈>
1. ___ 은 웹 상에 산재된 여러 정보를 긁어오는 것을 의미
2. ___ 라이브러리를 통해 웹 자원 요청
3. ___ 라이브러리를 통해 html 코드 파싱
4. 개발자 도구의 ___ 기능을 이용해 선택자 문법 확인 가능
<정답>
1. 크롤링
2. requests
3. bs4
4. Copy
이번에는 2단계인 크롤링 코드를 작성해볼 것
BeautifulSoup
우선 BeautifulSoup라는 크롤링의 주요 모듈에 대해 알아보자
요청받은 웹 정보를 html로 파싱하고 나서 파싱한 자원 분석하는 bs4 라이브러리(패키지)의 모듈이다.
BeautifulSoup 모듈의 주요 메서드
find 하나의 태그 찾기
find_all 여러 태그 찾기(리스트)
select 선택자 문법으로 여러 태그 찾기
특정 부분 크롤링
지난 시간에 이어 이번에는 특정 부분만을 크롤링해보도록 하자
특정한 부분을 크롤링하는 방법은 크게 2가지가 있다.
class와 id를 특정하는 방법, 속성특정
attr = {key,value} 키값형태로 나열하는 방법
이번엔 class를 이용하여 특정 태그 크롤링을 진행해보자
이제 코드를 통해 특정 class값에 해당되는 html을 파싱해보자
그러나 동일한 class값을 지닌 div태그도 파싱이 된다.
이젠 더 상세한 파싱을 해보자. div태그의 하위태그들을 select메소드를 통해 파싱하자
미션 : div class= 'col-sm-12 course-section'의 div > ul > li 태그들의 컨텐츠들만을 불러오자
<퀴즈>
1. BeautifulSoup 모듈의 ___ 메서드로 하나의 태그를 찾는다.
2. find_all 메서드는 BeautifulSoup 객체를 ___ 로 반환
3. select 메서드 이용해서 ___ 으로 태그를 찾을 수 있다.
'● 크롤링, 자동화 > BeautifulSoup' 카테고리의 다른 글
[잔재미] 파이썬을 이용한 웹 크롤링(Web Crawling) 어플리케이션 만들기. 3강 (0) | 2020.01.13 |
---|---|
[FC] 14. 크롤링 자료 엑셀저장 / openpyxl / load_workbook / (0) | 2019.06.30 |
[FC] 10. 파이썬 말뭉치 처리 / konlpy / Okt / pos / nouns (0) | 2019.06.27 |
[FC] 8. 예외처리 / 문법 에러 / try ~ except / finally / raise Exception (0) | 2019.06.26 |
[FC] 7. 함수 / 가변 인자 / 별칭 인자 / 다중 반환 값 / def / default (0) | 2019.06.26 |