본문 바로가기
코딩

BeautifulSoup4 크롤링 사용법 정리

by 눈표범  2021. 7. 13.

1. 라이브러리 설치

터미널에 아래 명령어를 입력하여 라이브러리를 설치합니다.

$ pip install beautifulsoup4

 

이런식으로 설치됨

 

2. 라이브러리 로딩 및 홈페이지 접속

설치 후 라이브러리를 불러온다. 그리고 접속하고 싶은 주소를 version_url에 넣어서, 해당 홈페이지의 내용을 불러온다.

코드 설명

  • 한글은 url로 인식하지 못하기 때문에 urllib.parse.quote(value) 로 유니코드로 변환
  • '웹 표준'이라는 한글이 '%EC%9B%B9%20%ED%91%9C%EC%A4%80' 식으로 변경됨
  • urllib.request.urlopen(version_url) 으로 해당 사이트 로드
  • BeautifulSoup(html, 'html.parser', from_encoding='utf-8')로 해당 사이트의 내용을 불러옴
from bs4 import BeautifulSoup
import urllib.request
import urllib.parse


for each_cell in cell_list:
    title = urllib.parse.quote(each_cell.value)
    version_url = 'http://www.incodom.kr/' + title + '?rev=list'
    print("\n\n ==> version_url : ", version_url, '\n\n')

    with urllib.request.urlopen(version_url) as response:
        html = response.read()
        soup = BeautifulSoup(html, 'html.parser', from_encoding='utf-8')

 

뭔가 알지 못하는 것들이 엄청 불러와 진다.

 

 

3. 테이블 정보 불러오기

원하는 부분을 불러온다. 여기서는 수정한 날짜와 URL 주소를 불러옴

time_all = soup.find_all('time')
url_all = soup.find_all('a', {'class':"caret-target"})

이런식으로 불러옴

 


 

Body 불러오기

기본적인 body는 간단하게 불러올 수 있다.

 with urllib.request.urlopen(url) as response:
        html = response.read()
        soup = BeautifulSoup(html, 'html.parser', from_encoding='utf-8')
        body = soup.find('body')

 

 

 

출처 : https://useful-jang.tistory.com/146

'코딩' 카테고리의 다른 글

html 태그 정리  (0) 2021.07.13
CSS 선택자) '.class ul ' 과 '.class > ul' 의 차이점  (0) 2021.07.13
데이터 구조  (0) 2021.07.13
Python 의 List 와 Tuple  (0) 2021.07.13
JSON 이란?  (0) 2021.07.13

댓글