-
2022-10-04개발/개발일지(스파르타내일배움단) 2022. 10. 4. 20:56728x90
저번에 배운 크롤링 후에 받은 데이터를 DB에올리는 방법을 학습했다.
학습한것을 바탕으로 3주차 숙제를 해결할수있었다.
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'} data = requests.get('https://www.genie.co.kr/chart/top200?ditc=M&rtm=N&ymd=20210701',headers=headers) soup = BeautifulSoup(data.text, 'html.parser') music = soup.select('#old_content > table > tbody > tr') trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr') for tr in trs: rank = tr.select_one('td.number').text[0:2].strip() title=tr.select_one('td.info > a.title.ellipsis').text.strip() artist=tr.select_one('a.artist.ellipsis').text print(rank,title,artist)
결과
1 바라만 본다 MSG워너비 (M.O.M)
2 Next Level aespa
3 신호등 이무진
4 Weekend 태연 (TAEYEON)
5 치맛바람 (Chi Mat Ba Ram) 브레이브걸스 (Brave girls)
6 Butter 방탄소년단
7 나를 아는 사람 MSG워너비 (정상동기)
8 Permission to Dance 방탄소년단
9 비 오는 날 듣기 좋은 노래 (Feat. Colde) 에픽하이 (EPIK HIGH)
10 헤픈 우연 헤이즈 (Heize)
11 하루만 더 빅마마 (Big Mama)
12 비와 당신 이무진
13 Alcohol-Free TWICE (트와이스)
14 롤린 (Rollin') 브레이브걸스 (Brave girls)
15 19금 Peaches (Feat. Daniel Caesar & Giveon) Justin Bieber
16 Dun Dun Dance 오마이걸 (OH MY GIRL)
17 Dynamite 방탄소년단
18 라일락 아이유 (IU)
19 안녕 (Hello) 조이 (JOY)
20 추적이는 여름 비가 되어 장범준
21 운전만해 (We Ride) 브레이브걸스 (Brave girls)
22 Celebrity 아이유 (IU)
23 러브 (Prod. by 로코베리) 로꼬 & 이성경
24 Bad Habits Ed Sheeran
25 상상더하기 MSG워너비
26 ASAP STAYC (스테이씨)
27 상상더하기 라붐 (LABOUM)
28 밤이 되니까 원슈타인
29 Timeless SG워너비
30 좋아좋아 조정석
31 Savage Love (Laxed - Siren Beat) (BTS Remix) Jawsh 685 & Jason Derulo & 방탄소년단
32 다정히 내 이름을 부르면 경서예지 & 전건호
33 내 손을 잡아 아이유 (IU)
34 사이렌 Remix (Feat. UNEDUCATED KID & Paul Blanco) 호미들
35 At My Worst Pink Sweat$
36 작은 것들을 위한 시 (Boy With Luv) (Feat. Halsey) 방탄소년단
37 OHAYO MY NIGHT 디핵 (D-Hack) & PATEKO
38 가을 우체국 앞에서 김대명
39 나는 너 좋아 장범준
40 멜로디 ASH ISLAND
41 Blueming 아이유 (IU)
42 밝게 빛나는 별이 되어 비춰줄게 송이한
43 에잇 (Prod. & Feat. SUGA of BTS) 아이유 (IU)
44 2002 Anne-Marie
45 LOVE DAY (2021) (바른연애 길잡이 X 양요섭, 정은지) 양요섭 & 정은지
46 아로하 조정석
47 흔들리는 꽃들 속에서 네 샴푸향이 느껴진거야 장범준
48 이제 나만 믿어요 임영웅
49 낙하 (With 아이유) AKMU (악뮤)
50 Off My Face Justin Bieber지니 top50 랭크,제목,가수 데이터를 크롤링해서 콘솔창에 결과를 나타내는 작업을하였다.
원하는 목록인 (제목,가수,데이터) 곳에 커서를가져가놓고 마우스오른쪽클릭 copy-> copy selector를 통해 코드를 가져와
print 해보고 text를통해 글자만 가져오고, 쓸데없는 여백을 없애기위해 strip() 을 사용했다.
for문을통해 tr이란 변수에 trs값들을 넣어주고
다시 목록별로 선언해둔 변수에 tr.select_one에 각 목록의 코드부분을 넣어주어
최종적으로
rank
title
artist 라는 변수에 원하는 값을 넣어주었고
마지막으로 print(rank,title,artist)로 출력하여
원하는 값을 얻을수있었다.
728x90'개발 > 개발일지(스파르타내일배움단)' 카테고리의 다른 글
10월10일 4주차 마침. (0) 2022.10.10 20221003 (0) 2022.10.03 2022-09-28 파이썬시작. (0) 2022.09.28 2022-09-27 2주차 숙제제출 (0) 2022.09.27 2022-09-25 Jquery (2) 2022.09.25