커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3주차 숙제 관련 질문
undefined주차
북마크
김*수
댓글
2
추천
0
조회수
6
조회수
6
답변 완료

혼자서 풀어보다가 결국 답지를 봤는데요 ㅠ.. 첨에 헤멘 이유가, for문 돌리고 나서 각 변수에 select_one함수를 써주잖아요. tr.select_one() 이라고 먹여야 하는데 계속 trs.select_one, soup.select_one ... 이런식으로 쓰니 오류가 계속 났습니다.

select_one()함수 앞에 trs도 아니고 soup도 아니고 tr이라는 변수를 붙인 이유를 모르겠습니다. 설명 좀 부탁드릴게요! 감사합니다.

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')

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

for tr in trs:
  title = tr.select_one('td.info > a.title.ellipsis').text.strip()
  rank = tr.select_one('td.number').text[0:2].strip()
  artist = tr.select_one('td.info > a.artist.ellipsis').text
  print(rank, title, artist)
취소
 공유
취소
댓글 0
댓글 알림
나의얼굴