프로그래밍/before

파이썬 크롤링 강의 멜론 사이트 실시간 순위 top100 웹스크래핑 csv파일 저장방법

김플 2020. 3. 21. 14:30
반응형

파이썬 크롤링 강의 멜론 사이트 실시간 순위 top100 웹스크래핑 csv파일 저장방법

파이썬 beautifulsoup, urllib.request 등을 사용하여 멜론 사이트를 크롤링 하는 예제입니다. 멜론 실시간순위 top100을 스크래핑하여 구글 스프레드시트, 엑셀 등에서 사용할 수 있는 csv파일로 저장하는 내용의 강의로 크롤링중 만나기 쉬운 urllib.error.HTTPError: HTTP Error 406: Not Acceptable 에러를 헤더값을 추가하여 해결하는 방법도 배울 수 있습니다.


유튜브 김플 스튜디오에 방문하시면 더 많은 파이썬 강의를 보실수 있습니다.

프로그래머 김플 스튜디오 유튜브 Go!


# 소스코드 - 자세한 사용법은 유튜브 영상을 참조하세요.
# 영상 제작 날짜 기준의 코드입니다. 이후 사이트 구조가 달라지거나 기타 이유로 작동하지 않을 수 있습니다.
import urllib.request
from bs4 import BeautifulSoup
import csv

hdr = { 'User-Agent' : 'Mozilla/5.0' }
url = 'https://www.melon.com/chart/index.htm'

req = urllib.request.Request(url, headers=hdr)
html = urllib.request.urlopen(req).read()
soup = BeautifulSoup(html, 'html.parser')

lst50 = soup.select('.lst50,.lst100')

melonList = []
for i in lst50:
    temp = []
    temp.append(i.select_one('.rank').text)
    temp.append(i.select_one('.ellipsis.rank01').a.text)
    temp.append(i.select_one('.ellipsis.rank02').a.text)
    temp.append(i.select_one('.ellipsis.rank03').a.text)
    melonList.append(temp)

with open('melon100.csv','w',encoding='utf-8',newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['순위','아티스트','곡명','앨범'])
    writer.writerows(melonList)


반응형

▼웹크롤링&자동화를 제대로 배워보고 싶다면?▼

 

실습으로 끝장내는 파이썬 웹 크롤링과 웹 페이지 자동화 - 인프런 | 강의

쉬운 설명과 다양한 실습으로 어떠한 사이트라도 원하는 대로 파이썬(Python) 웹 크롤링을 할 수 있게 됩니다., - 강의 소개 | 인프런...

www.inflearn.com