프로젝트명 : web_scraping_study_no1
html : example.html
py : web_scrapping_example.py

지난시간에 배운 HTML 기본코드를 바탕으로 py.파일을 생성하고 인터프리터에 beautifulsoup를 추가해보자.


BeautifulSoup4 설치하기

image
image

아직 라이브러리를 설치하지 않아서 빨간줄이 뜬다.

  • BeuatifulSoup 설치하기 *프로젝트를 새로 생성함과 동시에 가상환경을 만드므로, 인터프리터는 새로운 상태임(anaconda꺼 선택도 가능)
    - file > setting ( Ctrl + Alt + S ) > Project > Project Interpreter > 우측 초록색 + 버튼 >
    > beautifulsoup4( 그냥 beautifulsoup 아님!!!) > install package
    image
    image
    image
    image


bs4를 사용하여 example.html 스크래핑 해보기

html 객체에 예제 html코드를 넣어야하는데, 이 때 사용되는 것이 작은 따옴표 3개(''')이다.
이안에다가 여러줄의 String을 하나의 String으로 입력할 수 있다.

원래는 서버의 홈페이지에서 받아와야하는 html코드인데 ,여기서만 예시로 하는 것이다.
image
image
image


# 서버에서 받은 html코드를 이용하여 BeautifulSoup객체를 만드는데, 
# 받아올 때 필요한 양식이 "lxml"이며, 인스톨이 필요하다
  • lxml 패키지 설치

image

image


  • 이제 이 soup 객체에서 body만 꺼낼 수 있다.
    image

  • 다음으로 body안에서 h1만 꺼낼 수 있다
    image

    뒤에 .text를 붙히면 h1태그안의 텍스트만 꺼낼 수 있다.
    image


  • 다음으로 body태그안에 table을 꺼내보자.
    image

  • table은 특별히 thead와 tbody 태그를 나누어줬었다.
    tbody안에도 여러개의 tr(줄)이 존재했다. 여러개의 태그를 받을 때는 .find_all('태그명') 으로 받아온다.
    image

    tbody안에 tr들을 리스트로 받고,
    리스트를 이용한 for문으로 각 tr(줄)에 존재하는 여러개의 td(칸)들 중 첫번째 칸만 확인해보자.
    image

    뒤에 .text를 붙히면 태그안의 문자열만 가져올 수 있다.
    image

+ Recent posts