BeautifulSoup4 패키지를 사용해서 웹 페이지 파싱해보기

2018. 5. 21. 15:57개발노트

BeautifulSoup4 패키지를 사용해서 웹 페이지 파싱해보기


우선 파이썬을 이용해서 웹 페이지를 파싱하려면 pip를 이용해서 패키지를 설치해 주어야 합니다.


설치하는 방법은 환경변수 설정 후 cmd 들어가서 pip install beautifulsoup4 그리고  pip install lxml 


위 두개의 패키지를 사용해서 웹 페이지 파싱을 해보겠습니다.




차트는 가온차트죠


가온차트를 파싱해보겠습니다.


우선 개발자모드를 열어서 코드를 확인해야 합니다.


개발자모드 f12누르면 열립니다 크롬기준



열심히 뒤적뒤적 하다보면 파싱하고픈 차트에 해당하는 코드 부분을 찾을수 있습니다.


저는 노래 제목을 순위 순서대로 파싱해보겠습니다.


위에 그림을 보면 노래 제목에 해당되는 부분의 class 네임이 td 라고 되어있습니다.


그리고 title은 p 이것만 알면 끝입니다. for문으로 돌려서 노래 제목을 순서대로 파싱해봅시다.


1
2
3
4
5
6
7
8
9
10
11
12
from urllib.request import urlopen
from bs4 import BeautifulSoup
 
url = urlopen("http://gaonchart.co.kr/main/section/chart/online.gaon")
soup = BeautifulSoup(url,"lxml")
cnt_artist=0
cnt_title=0
 
for link1 in soup.find_all(name="td",attrs={"class":"subject"}):
    cnt_artist +=1
    cnt_title +=1
    print(link1.find('p').text)
cs


9번째 줄에 보면 name="td",attrs={"class":"subject"}): 라고 되어있습니다.


위의 웹 페이지 코드랑 비교하면 이해하기 훨씬 쉬울꺼라고 생각됩니다.


 print(link1.find('p').text)

출력할 부분은 p 즉 웹 페이지에서 노래 제목부분이죠 끗 코드도 짧고


파싱하면 이렇게 나옵니다.