Beautifulsoup4

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2021년 2월 12일 (금) 23:54 판
둘러보기로 이동 검색으로 이동

파이썬 공부를 위한 틀 틀:파이썬

  1. 파이썬:개요
    1. 파이썬:코딩팁
      1. 파이썬:파이참
    2. 파이썬:가상환경
    3. 파이썬:연산자
  2. 파이썬:변수
    1. 파이썬:자료형
      1. 파이썬:문자열
    2. 파이썬:자료구조
  3. 파이썬:함수
    1. 파이썬:자주사용하는 함수
  4. 파이썬:데코레이터
  5. 파이썬:제어문
    1. 파이썬:조건문
    2. 파이썬:반복문
  6. 파이썬:클래스
  7. 파이썬:데이터 입출력
    1. 파이썬:api
  8. 파이썬:라이브러리
    1. 파이썬:time, datetime(시간 다루기)
    2. 파이썬:os(운영체제 기능 이용)
    3. 파이썬:sys(인터프리터 관련 기능 제공)
    4. 파이썬:schedule(예약명령)
    5. 파이썬:COM(다른 프로그램과 연동)
    6. 판다스(데이터 분석)
    7. pybithumb(비트코인 거래)
    8. 파이썬:requests(api다루기)
    9. 파이썬:pymysql(mysql 연동)
    10. 파이썬:sqlite3(sqlite3 연동)
    11. 파이썬:math(숫자, 계산 관련)
    12. 파이썬:numpy(다차원 배열 및 데이터 다루기)
    13. 파이썬:matplotlib(그래프, 데이터 시각화)
    14. 파이썬:keras(딥러닝)
    15. 파이썬:turtle(그리기)
  9. 파이썬:프레임워크
    1. 장고:개요
  10. 파이썬:팁
    1. 파이썬:에러
    2. 파이썬:PUBG API 사용하기
    3. 파이썬:주식거래
  11. 파이썬:window창
  12. 파이썬:다양한 전략
    1. 파이썬:회귀분석
    2. 파이썬:상관관계 알아보기
    3. 파이썬:투자방법 개요

개요

HTML페이지로부터 정보를 추출한다.

태그, class, id 같은 속성으로 필요한 데이터에 접근한다.

크롤링은 requests 모듈로도 가능하지만, 코드를 파이썬이 이해하는 구조로 바꾸어주진 못한다. 때문에 사용하는 도구. 데이터는 requests나 다른 모듈로 불러오고, 분석을 BeautifulSoup에서 수행한다.


pip install beautifulsoup4

파서 라이브러리를 골라 사용할 수 있는데 pip install lxml 로 설치해 사용한다.(다양한 파서 종류가 있으니, 적절한 것을 찾아 사용하면 된다.) 파서는 lxml을 많이 사용하는 듯.

사용

기본 사용법

과정 설명 방법
url 열기 url 문서를 연다.

뷰티플 스프를 불러오는 과정에 유의하자.

from bs4 import BeautifulSoup
from urllib.request import urlopen

with urlopen(url) as 문서:  # 이처럼 열어 사용한다. with을 사용하면 save()를 따로 할 필요가 없다.
    명령
BeautifulSoup와 연결 특정 html 문서를 파서와 연결한다.
html = BeautifulSoup(문서, lxml)  # 파서 라이브러리를 lxml로 지정해 사용한다.
태그 찾기 위 명령 부분에 작성한다.

find_all() 혹은 find() 사용.

내용 = html.find('찾을태그', class_='찾을클래스')
find()는 가장 위에 있는 것 하나만 찾는다.

find_all()은 결과를 리스트로 반환한다.


옵션에서 class 대신 class_를 사용하는 것은 파이썬 내부에 class라는 명령이 있기 때문이다.


찾아내면 태그를 통째로 가져오는데, 택스트만 추출하려면 여기에 다시 .text 로 텍스트 속성에 접근해야 한다.

기타 사용법

의도 설명 방법
하위 속성에 접근 닷 문법으로 하위태그에 접근할 수 있다.
내용.a  # 찾은 내용 안의 a태그에 접근한다.