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

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

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



이미 많은 분께서 질문하신 19금 곡의 '19금' 문자열과 공백 제거 과정에서 생긴 궁금증입니다.

제 경우에는 구글링해가며 이것저것 해보다가 우연히 제거에 성공해 그대로 숙제를 제출했습니다.

title = song.select_one('td.info > a.title.ellipsis').text.strip('19금\n').strip()

다만 이게 어떤 식으로 작동한건지 이해가 어렵네요.

strip('19금') 이라고 썼을때, strip('\n') 이라고 썼을때는 동작하지 않고 '19금' 문자열과 공백이 그대로 출력됩니다.

위의 2가지 방법이 작동하지 않는 이유는 무엇인지, 그리고 '19금\n'을 썼을 때는 작동하는 이유가 무엇인지 궁금합니다.




작성한 코드 및 에러 메세지

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


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('19금\n').strip()
    artist = song.select_one('td.info > a.artist.ellipsis').text

    print(rank,title,artist)





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