컴공생의 다이어리

[파이썬, Python] BeautifulSoup으로 크롤링(crawling)(2) - select() 옵션 본문

Development/Python & Django

[파이썬, Python] BeautifulSoup으로 크롤링(crawling)(2) - select() 옵션

컴공 K 2021. 5. 29. 00:01
728x90

BeautifulSoup의 find(), find_all(), .string, get_text()

이어서 BeautifulSoup의 select() 함수에 대해 알아보자!

 

select() 함수를 사용하여 원하는 데이터 추출

find() 함수와 find_all() 함수를 이용하여 원하는 태그를 찾는 방법도 있지만 select() 함수를 사용하여 원하는 데이터를 추출할 수 있다. select() 함수를 이용하여 데이터 추출하는 방법의 장점은 다양한 옵션들을 사용할 수 있는 것이다.

 

아래와 같이 ex1에 html이 저장되어 있다고 하고 select() 함수를 활용해보자!

 

select('태그이름')

아래는 <p> 태그의 내용을 모두 추출한 것이다.

 

select('.클래스명')

아래는 클래스 이름이 name1인 태그만 추출한 것이다.

 

select('상위태그>하위태그>하위태그')

여러 태그가 단계적으로 있을 때 select('상위태그>하위태그>하위태그')를 사용하면 원하는 정보를 얻을 수 있다.

위의 결과 같이 특정 태그가 여러개 있는 경우 리스트의 인덱싱 기능을 사용하면 원하는 정보를 마음대로 사용할 수 있다.

 

select('상위태그.클래스이름>하위태그.클래스이름')

아래는 <p> 태그의 클래스 이름이 name1이고 <span> 태그의 클래스 이름이 store인 것을 추출한 것이다.

 

select('상위태그 하위태그')

select함수에서 띄어쓰기를 통해 하위태그를 사용할 경우 하위태그는 자손관계에 있는 태그를 말한다.

 

select('#아이디명')

아래는 아이디명이 fruits1인 것을 추출한 것이다.

 

select('#아이디명>태그명.클래스명')

아래는 아이디명이 fruits1이고 <span> 태그의 클래스명이 store인 것을 추출한 것이다.

 

select('태그명[속성1=값1]')

아래는 <a> 태그의 속성이 href인 것을 추출한 것이다.

 

 

 

http://www.yes24.com/Product/Goods/78227084

 

완친파 웹크롤러 대마왕편

『완친파 웹크롤러 대마왕편』은 인터넷에 있는 수많은 데이터들을 어떻게 수집하면 되는지 아주 친절하게 알려주는 책이다. 파이썬 언어와 Beautiful Soup , Selenium 을 활용하여 인터넷에 있는 수

www.yes24.com

728x90
Comments