왕초보_day13

조소영·2021년 7월 19일
0

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=D&ymd=20200403&hh=23&rtm=N&pg=1',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

jinie = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

for ji in jinie:
    rank = ji.select_one('td.number').text[0]
    title =ji.select_one('td.info >a.title.ellipsis').text.strip()
    name =ji.select_one('td.info > a.artist.ellipsis').text
    print(rank,title,name)

일단 이게 완성본인데
내가 해본데로 설명 (to.me, from.me)

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=D&ymd=20200403&hh=23&rtm=N&pg=1',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

일단 이건 뷰티풀숩 패키지를 쓰기위해 크롭 해온거에 URL만 복붙해서 넣은거고,

jinie = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

이건 내가 임의로 jinie 라는 항목에ㄷㅏ가 위에서 넣은 데이터를 입히는거야.
저번 수업에서 배웠던데로 해봄,
웹페이지에서 크롤링 하고싶은 곳에 커서를 대고 검사를 누르면 개발자 도구가 뜨잖아
거기서 그 줄을 쫙 카피 해와서 붙이고, 그 ㄷㅏ음줄도 복붙해서 봤을때
차이점이 있는 부분만 지우고 넣는거지!
근데 여기서 꽤 애먹음 ㅠ tr뒤에 > 넣었다고 빨간글씨가 난리치더라ㅠ

for ji in jinie:
    rank = ji.select_one('td.number').text[0]
    title =ji.select_one('td.info >a.title.ellipsis').text.strip()
    name =ji.select_one('td.info > a.artist.ellipsis').text
    print(rank,title,name)

이 부분은 내가 원하는 값을 가지고 오려고 만든 for문 이지.
jinie안에 ji가 들어가고~
내가 주고싶은 값들을 rank,title,name이라고 이름만들어서 넣어놓고~
이것도 좀 헤멧음 ㅠ a.title.어쩌고 써야하는데 점 안쓰고 띄어쓰기하고
td.info 안에 들어있는거를 안적기도 하고
그리고 문제 힌트에도 있듯이 공백이 생기더라고
그래서 검색했는데

lstrip - 왼쪽에 있는 공백 제거
rstrip - 오른쪽에 있는 공백 제거
strip - 왼쪽 오른쪽에 있는 공백 제거

라고 하더라!
근데 사실 공백이 어디에 있는지 몰라서
양쪽 공백을 지울수있는 strip()을 사용했더니 해결~
근데 또 rank에서 2위상승,11위하강 이딴게 뜨지모야ㅋ
그래서 뒤에 [0] 을 입력함.
0번째 텍스트만 가져오려고!
그랫더니 해결~

진짜 머리속에서 방법들이랑 코드들이 뒤엉키는데
그걸 처음에 뽑아내기가 어려움 ㅠ
구글링 is 답

3주차는 진도사우르스에게 잡혔으니 4주차는 우수한 순위로 끝내보자!
이번주는 11일 메이킹 챌린지도 있으니
화이팅...ㅎ

profile
에이치아이~

0개의 댓글