BeautifulSoup은 파이썬 라이브러리로 html이나 xml을 꺼내와 파이썬에서 다룰수있게해준다.
requests패키지와 함꺠사용하여 'requests'로는 웹에서 html을 가져오고
그 가져온 html을 파이썬에서 이리저리 주무룰 수 있게해주는게 'BeautifulSoup'이다
본 블로그의 [항해99:사전교육]에(https://hwansci.tistory.com/17)긱본적인 사용법을 기재해놨다.
BeautifulSoup에서 주로쓰는 메소드는 'select()', 'select_one()', 'find()', 'decompose()' 이정도 인거 같다
1.select(),select_one()
select()는 html에서 태그의 'id'나'class'같은 'selector'를 기준으로 해당 태그를 찾아준다.
#soup에는 이미 html들어있다고 갸장하고 아래와 같이 사용하면 post라는 'id'를 가진 태그를 찾아준다
soup.select("#post")
#아래는 post라는 id를가진 태그안의 class가 new-list인 태그를 찾아준다
soup.select("#post > div.new-list")
select()는 전부다 찾아주고 ,select_one()은 가장 위에있는 하나를 찾아준다.
select()로하면 리턴 객체가 ResultSet이되고 select_one()을하면 tag객체를 리턴해준다
2.find()
find()는 html 문서에서 원하는태그를 찾아주는것인데 select와 사용법만다르고 비슷한거같다
얘도 tag객체를 리턴해준다
#이련식으로 쓰는데 select보다 불편한거같기도하다.
trs = soup.find(id='body-content')
#자식태그를 찾으려면 아래와같이 해야하는거 같다
trs = soup.find(id='body-content').find('a')
#id가 body-content인 태그를 찾고 그 html에서 a태그를 찾아라
3.decompose()
찾은 태그를 지워주는 메소드이다
# trs가 <h1>안녕<span>하세요</span></h1>일때, decompose()를 하게되면<h1>안녕</h1>이렇게 바뀐다
trs.find('span').decompose()
'programming > Python' 카테고리의 다른 글
맥북 vscode에서 pip install 안될 때 (0) | 2023.04.06 |
---|---|
[Flask] flask프레임워크(웹프레임워크) (0) | 2022.11.17 |
[pymongo]pymongo패키지 사용하여 mongodb연결 및 사용법 요약 (0) | 2022.11.17 |