이전에 만들었던 지니뮤직 크롤러는 1위부터 50위까지
노래 제목만 출력이됐었다
지금 오라클을 이용해서 크롤링한 정보를 데이터베이스에 저장하게하고 싶어서
여러개의 정보가 같이 크롤링 되었으면 좋겠다고 생각했다
그래서 바로 추가해보았다
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
url = 'https://www.genie.co.kr/chart/top200'
resp = requests.get(url, headers = headers)
soup = BeautifulSoup(resp.text, 'html.parser')
songs = soup.findAll('a',{'class' : 'title ellipsis'})
peoples = soup.findAll('a',{'class':'artist ellipsis'})
for song, people, i in zip(songs, peoples, range(0,50)):
title = song.text
name = people.text
print(str(i+1)+"위 "+title.strip()+" : "+name.strip())
코드는 크게 달라진것이 없다.
저번에 어떤분이 댓글로 findAll()을 이용해서 크롤링 하는방법을 알려주었는데
코드가 훨씬 간결하고 보기좋게 바뀌어서 findAll() 함수를 이용해서 바꿔보았다.
for문을 이용해서 songs와 peoples에 동시에 접근하는 방법을 몰라서
애를 먹었는데 구글링해보니 금방 찾을 수 있었다.
zip()함수를 이용해서 쉽게 접근 할수있었다.

이렇게 정상적으로 1위부터 50위까지 노래제목과 가수이름이 크롤링된것을 볼수있다.
이전에 만들었던 지니뮤직 크롤러는 1위부터 50위까지
노래 제목만 출력이됐었다
지금 오라클을 이용해서 크롤링한 정보를 데이터베이스에 저장하게하고 싶어서
여러개의 정보가 같이 크롤링 되었으면 좋겠다고 생각했다
그래서 바로 추가해보았다
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
url = 'https://www.genie.co.kr/chart/top200'
resp = requests.get(url, headers = headers)
soup = BeautifulSoup(resp.text, 'html.parser')
songs = soup.findAll('a',{'class' : 'title ellipsis'})
peoples = soup.findAll('a',{'class':'artist ellipsis'})
for song, people, i in zip(songs, peoples, range(0,50)):
title = song.text
name = people.text
print(str(i+1)+"위 "+title.strip()+" : "+name.strip())
코드는 크게 달라진것이 없다.
저번에 어떤분이 댓글로 findAll()을 이용해서 크롤링 하는방법을 알려주었는데
코드가 훨씬 간결하고 보기좋게 바뀌어서 findAll() 함수를 이용해서 바꿔보았다.
for문을 이용해서 songs와 peoples에 동시에 접근하는 방법을 몰라서
애를 먹었는데 구글링해보니 금방 찾을 수 있었다.
zip()함수를 이용해서 쉽게 접근 할수있었다.

이렇게 정상적으로 1위부터 50위까지 노래제목과 가수이름이 크롤링된것을 볼수있다.