WalkingBo의 걷는 정보

파이썬 크롤링 - 뷰티풀숩 select 본문

IT/파이썬 및 장고

파이썬 크롤링 - 뷰티풀숩 select

walkingbo 2020. 5. 21. 11:20

저번 포스트에 이어서 다른 방법도 한 번 알아보겠습니다. 지난번과 같이 먼저 뷰티풀숩을 import를 해줍니다.
from bs4 import BeautifulSoup 여기서 주의하셔야 할 점은 B와 S는 대문자로 입력하셔야 합니다.
이후 지난 번과 같이 가져오고 싶은 자료의 url 주소를 입력해줍니다. 예를 들어 url ="https://walkingbo.tistory.com/"
soup = BeautifulSoup(url, 'html.parser')


html.parser 는"이 문자열은 단순한 텍스트가 아니라 html 구조에 맞게 작성되어있어있으니, 이렇게 해석해주세요와 같습니다."
여기서 soup 은 그냥 변수명으로 제가 지정한 것입니다.

 

select()

select(), select_one() 복수를 찾을때는 전자를 하나를 찾을 때는 후자를 이용하시면 됩니다. 
soup.select('원하는 정보') - 기본형, '원하는 정보에 이제 태그, 클래스등을 입력하시면 됩니다. 

 

soup.select('태그명')

soup.select('.클래스명')

soup.select('상위태그명 > 하위태그명 > 하위태그명')

soup.select('상위태그명.클래스명 > 하위태그명.클래스명') # 바로 아래의(자식) 태그를 선택시에는 > 기호를 사용

soup.select('상위태그명.클래스명 하위태그명') # 아래의(자손) 태그를 선택시에는 띄어쓰기 사용

soup.select('상위태그명 > 바로아래태그명 하위태그명')

soup.select('.클래스명')

soup.select('#아이디명') # 태그는 여러 개에 사용 가능하나 아이디는 한 번만 사용 가능합니다.

soup.select('태그명.클래스명)

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

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


예시) soup.select('p') 를 입력 후 실행하면, p태그가 있는 부분은 다 표출되고 p태그로 감싸져 있는 다른 태그들도 같이 나옵니다. 

 

예시) soup.select('p')[1] 를 입력 후 실행하면, 여러 개의 p태그 중에서 두 번째 p태그의 내용만 나옵니다.

 

예시) 클래스명 이용 soup.select('.tistory') 티스토리 클래스명이 있는 태그들이 출력됩니다. soup('p.tistory') 로 입력한 후 실행 시 p태그 중 티스토리 클래스명이 있는 태그들이 출력됩니다.


예시) 아이디 이용 soup.select('#walkingbo') 워킹 보라는 아이디가 있는 부분이 출력됩니다.


예시) 특정 위치의 span태그를 찾고 싶을 때는 soup.select('p > span') 로 입력한 후 사용하시면 됩니다. 여기서 주의할 점은 '>' 앞 뒤로 공백 문자가 필요하다는 점입니다. 


예시) soup.select('a[href = "https://~"]')을 입력한 후 실행하면 다음 태그 안의 속성 명을 찾아냅니다.

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

 

Beautiful Soup Documentation — Beautiful Soup 4.9.0 documentation

Non-pretty printing If you just want a string, with no fancy formatting, you can call unicode() or str() on a BeautifulSoup object, or a Tag within it: str(soup) # ' I linked to example.com ' unicode(soup.a) # u' I linked to example.com ' The str() functio

www.crummy.com

더 자세히 알고 싶은 내용들은 다음의 링크에서 Document를 확인하실 수 있습니다. 

'IT > 파이썬 및 장고' 카테고리의 다른 글

파이썬 제어문 - while  (0) 2020.05.27
파이썬 제어문 - if  (0) 2020.05.25
파이썬 크롤링 - 뷰티풀숩 기초  (0) 2020.05.20
파이썬 크롤링(웹)-기초  (1) 2020.05.19
파이썬 - 변수  (0) 2020.05.17
Comments