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

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


15위의 '19금'과 공백을 없애기위해

파이참 19번째줄 뒤쪽을 ..


.text.strip('19금').strip()

.text.strip().strip('19금)


위의 2가지를 했을경우, 결과값이 아래처럼 나옵니다.


첫번째. .text.strip('19금').strip()

스파르타 즉문즉답

두번째. .text.strip().strip('19금)

스파르타 즉문즉답


그래서...

세번째로...


스파르타 즉문즉답

.text.strip().strip('19금').strip()

으로 작성했더니, 원하는대로 나오는데,,,


다른 좋은 방법이 있는걸까요??



보고 계신 화면 전체를 캡처해 주시면, 튜터님들이 빠르게 상황을 이해할 수 있어요.




작성한 코드 및 에러 메세지

오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




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(1) > td.number
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.title.ellipsis
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.artist.ellipsis

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

for song in songs:

    rank = song.select_one('td.number').text[0:2].strip()
    title = song.select_one('td.info > a.title.ellipsis').text.strip().strip('19금').strip()
    artist = song.select_one('td.info > a.artist.ellipsis').text.strip()

    print(rank, title, artist)


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