IT 개발자_S

파이썬 beautifulSoup 을 이용한 웹 크롤링 본문

IT/파이썬

파이썬 beautifulSoup 을 이용한 웹 크롤링

Soso12 2020. 10. 17. 17:19
반응형
점프 투 파이썬

● 파이썬을 이용한 웹 크롤링을 할 수 있다

● 파이썬 beautifulSoup  기초 활용 할 수 있다.

파이썬을 이용한 웹 크롤링 모듈중 가장 많이 사용하는 것 중 하나가 beautifulSoup  이다.

beautifulSoup 을 이용한 웹 크롤링 방법을 알아 보겠다.

다음 예저를 살펴보자

https://wikidocs.net/ 사이트의 책 제목만 파싱하여 출력하세요 (urllib.request 과 beautifulSoup 이용)

해당 사이트의 가서 책 제목만 웹 크롤링하여 정보를 가져오고 싶을 경우 

다음과 같다.

 

import urllib

with urllib.request.urlopen('https://wikidocs.net/') as response:
   html = response.read()

print(html)

html 변수에 html 코드들이 담겨져 있다.

해당 html 코드 중 

class book-subject 만 찾아 화면에 출력한다.

여기서 책 제목이 book-subject인 것은 어떻게 아느냐 ?

라고 했을때에는 

크롬 기준으로 F12 관리자 도구를 열어 해당 표시된 화살표 모양을 눌러 책 제목에 가져다가 클릭하면

class 이름이 book-subject 인것을 확인할 수 있다.

 

해당 클래스이름도 확인했으니 다음 코드를 수행해보자

from bs4 import BeautifulSoup
bs = BeautifulSoup(html, features="html.parser")
print (bs.find_all(class_="book-subject")) # 속성명 중 class 는 반드시 class_ 로 써야함.

해당 코드를 수행하면 아래와 같이 

[<a class="book-subject" href="/book/1">점프 투 파이썬</a>, <a class="book-subject" href="/book/110">파이썬으로 배우는 알고리즘 트레이딩 (개정판-2쇄)</a>, <a class="book-subject" href="/book/2155">딥 러닝을 이용한 자연어 처리 입문</a>, <a class="book-subject" href="/book/31">점프 투 자바</a>, <a class="book-subject" href="/book/2">왕초보를 위한 Python</a>, <a class="book-subject" href="/book/2165">PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램</a>, <a class="book-subject" href="/book/2788">PyTorch로 시작하는 딥 러닝 입문</a>, <a class="book-subject" href="/book/922">초보자를 위한 파이썬 300제</a>, <a class="book-subject" href="/book/483">라즈베리 파이 문서</a>, <a class="book-subject" href="/book/4315">Must Learning with R (개정판)</a>]

 

여기서 텍스트만 다시 정제하기 위해서 아래와 같은 코드를 입력하면 된다.

bodytag = bs.find(class_="book-subject")

print(bodytag.get_text())
점프 투 파이썬
반응형
Comments