본문 바로가기
● 크롤링, 자동화/BeautifulSoup

[FC] 12. 태그없앤 상세한 크롤링 / BeautifulSoup / select / find_all / get_text()

by 0ver-grow 2019. 6. 30.
반응형

<퀴즈>

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 메서드 이용해서 ___ 으로 태그를 찾을 수 있다.

반응형