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

3주차 숙제 진행중인데 15위 '19금' 아이콘 때문에 결과값에서 띄어쓰기가 지워지지 않고 나오는 것 같습니다.

네이버 영화 순위 리스트 크롤링할때 None 무시했던 것 처럼 <span> 무시하는 방법 알려주시면 감사드리겠습니다.


아래는 제가 작성한 코드이고 그 아래는 결과값 캡쳐본입니다.

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

#body-content > div.newest-list > div > table > tbody > tr:nth-child(15) > td.info > a.title.ellipsis > span // 19금 선택자
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.artist.ellipsis //musician 선택자
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.number //rank 선택자
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.title.ellipsis //title 선택자
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()
    musician = music.select_one('td.info > a.artist.ellipsis').text
    print(rank,title,musician)
스파르타 즉문즉답


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