커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
지니뮤직 크롤링하기 코드질문이 있습니다.
undefined주차
북마크
김*우
댓글
4
추천
0
조회수
16
조회수
16
답변 완료



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')
musics = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for music in musics:
    title = music.select_one('td.info > a.title.ellipsis').text.strip()
    rank = music.select_one('td.number').text[0:2].strip()
    artist = music.select_one('td.info > a.artist.ellipsis').text
    print(rank, title, artist)

작성한 코드표 입니다.

잘 작동은 하는데 제가 코드를

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')
musics = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for music in musics:
    title = music.select_one('td.info > a.title.ellipsis').text.strip()
    rank = music.select_one('td.number').text[0:2].strip()
    artist = music.select_one('td.info > a.artist.ellipsis').text

 print(rank, title, artist)

이렇게 print 위치를 앞으로 아래로 옮겨서 적으니 마지막에 해당하는 순위만 출력을 하던데 이유가 무엇일까요?

for 문 밖에 해당해서 그런건가요.. ?







취소
 공유
취소
댓글 0
댓글 알림
나의얼굴