음악 실시간 차트 100위 크롤링 하기

# 벅스뮤직 (https://music.bugs.co.kr)
# 주소 : https://music.bugs.co.kr/chart

 

import requests

from bs4 import BeautifulSoup

 

request = requests.get("https://music.bugs.co.kr/chart")

html = request.text

soup = BeautifulSoup(html, "html.parser"

title = soup.findAll("p", {"class":"title"})

artist = soup.findAll("p", {"class":"artist"})

 

for i in range(len(title)):

  titles = title[i].text.strip()
  artists = artist[i].text.strip().split('\n')[0]
  data = "{0:3d} {1} - {2}".format(i+1, artists, titles)
  print(data)

'프로그래밍 공부 > Python' 카테고리의 다른 글

Python 크롤링 공부 1-1  (0) 2020.06.12

크롤링을 하기전에 크롤링에 필요한 모듈을 두가지 설치해 줘야한다

terminal 창에 아래와 같이 입력해서 모듈을 다운 받도록 한다

pip install requests
pip install beautifulsoup4

# requests 는 html 문서를 파싱할 웹 사이트에 접속할 때 사용하는 모듈

# beautifulsoup4 는 html 문서에서 데이터를 가져올 때 사용하는 모듈

 

import requests
from bs4 import BeautifulSoup

# import를 해줌으로써 다운 받은 모듈을 사용한다


# https://basicenglishspeaking.com/daily-english-conversation-topics/
# 위의 사이트에서 단어 75개를 가져올것이다


def getSubject():
  subjects = [] # 일단 크롤링 데이터를 넣어줄 빈 List를 만들어준다
  request = requests.get("https://basicenglishspeaking.com/daily-english-conversation-topics/") # 웹 사이트 가져오기
  html = request.text # 가져온 자료들중 텍스트만 따로 html에 저장해준다
  soup = BeautifulSoup(html, "html.parser") # BeautifulSoup(파싱할 HTML소스, 파싱에 사용될 파서)
  divs = soup.findAll("div", {"class":"thrv-columns"}) # 가장 큰 범위의 파싱 소스를 divs에 저장해준다
  for div in divs: # 그중에서 a 태그를 가지고 있는 링크만 가지고 와서 links에 저장
    links = div.findAll("a")
    for link in links: # 가져온 텍스트들을 사전에 만들어준 빈 list subjects에 넣어준다
      subjects.append(link.text)
  return subjects

if __name__ == "__main__": # 파이썬의 프로그램 시작점을 만듭니다.
  subjects = getSubject()
  print(" {} 개의 대화를 찾았습니다.".format(len(subjects)))
  for i in range(len(subjects)):
    print("{0:2d}. {1:s}".format(i+1, subjects[i]))

'프로그래밍 공부 > Python' 카테고리의 다른 글

Python 크롤링 공부 1-2  (0) 2020.06.12

+ Recent posts