상세 컨텐츠

본문 제목

실습으로 끝장내는 파이썬 웹 크롤링(3)

백엔드/파이썬

by 호치민 개발자 2023. 2. 1. 20:26

본문

멜론 사이트를 활용한 실시간 차트 100개 크롤링 하기 

list_50=soup.select(".lst50")
list_100=soup.select(".lst100")

list_all=list_50+list_100

for rank,i in enumerate(list_all,1):
    title= i.select_one(".ellipsis.rank01")
    
    print(f"{rank}{title.text}")
    print()

상기와 같이 enumerate까지 활용하면 순위까지 표시가능함 

결과는 하기와 같다 

 

거슬리는 부분이 줄바꿈을 입력하지 않았음에도 위와 같이 표시된다.

그 이유는 title의 텍스트가 작성된 태그 위치가 

div(class= ellipsis rank01) > span > a 태그에 위치 즉 자손 태그에 있으므로 그 부분만큼 공백이 생김

 

해결방법은 2개 

1)  title.text.strip()

위와 같이 매소드를 활용

 

2) ".ellipsis.rank01 a"

태그를 확실하게 지정해주는 방법

 


text / string 차이

text는 해당 태그 안에 위치한 자식 / 자손 태그에 있는 문자까지 찾아줌

 

string은 바로 그 태그 안에 위치한 문자만 찾아줌 

(바로 그 태그에 문자가 없으면 none으로 출력됨)

 

관련글 더보기