Beautifulsoup4
편집하기
Sam
(
토론
|
기여
)
님의 2021년 2월 12일 (금) 23:54 판
(
차이
)
← 이전 판
|
최신판
(
차이
) |
다음 판 →
(
차이
)
둘러보기로 이동
검색으로 이동
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{파이썬}} ==개요== HTML페이지로부터 정보를 추출한다. 태그, class, id 같은 속성으로 필요한 데이터에 접근한다. 크롤링은 requests 모듈로도 가능하지만, 코드를 파이썬이 이해하는 구조로 바꾸어주진 못한다. 때문에 사용하는 도구. 데이터는 requests나 다른 모듈로 불러오고, 분석을 BeautifulSoup에서 수행한다. pip install beautifulsoup4 파서 라이브러리를 골라 사용할 수 있는데 pip install lxml 로 설치해 사용한다.(다양한 파서 종류가 있으니, 적절한 것을 찾아 사용하면 된다.) 파서는 lxml을 많이 사용하는 듯.<br /> ==사용== ===기본 사용법=== {| class="wikitable" |+ !과정 !설명 !방법 |- |url 열기 |url 문서를 연다. 뷰티플 스프를 불러오는 과정에 유의하자. |<syntaxhighlight lang="python"> from bs4 import BeautifulSoup from urllib.request import urlopen with urlopen(url) as 문서: # 이처럼 열어 사용한다. with을 사용하면 save()를 따로 할 필요가 없다. 명령 </syntaxhighlight> |- |BeautifulSoup와 연결 |특정 html 문서를 파서와 연결한다. |<syntaxhighlight lang="python"> html = BeautifulSoup(문서, lxml) # 파서 라이브러리를 lxml로 지정해 사용한다. </syntaxhighlight> |- |태그 찾기 |위 명령 부분에 작성한다. find_all() 혹은 find() 사용. |<syntaxhighlight lang="python"> 내용 = html.find('찾을태그', class_='찾을클래스') </syntaxhighlight>find()는 가장 위에 있는 것 하나만 찾는다. find_all()은 결과를 리스트로 반환한다. 옵션에서 class 대신 class_를 사용하는 것은 파이썬 내부에 class라는 명령이 있기 때문이다. 찾아내면 태그를 통째로 가져오는데, 택스트만 추출하려면 여기에 다시 .text 로 텍스트 속성에 접근해야 한다. |- | | | |} ===기타 사용법=== {| class="wikitable" !의도 !설명 !방법 |- |하위 속성에 접근 |닷 문법으로 하위태그에 접근할 수 있다. |<syntaxhighlight lang="python"> 내용.a # 찾은 내용 안의 a태그에 접근한다. </syntaxhighlight> |- | | | |}
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
원본 편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보