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

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

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


크롤링을 하고 코드도 다 작성했고

print(rank, title, artist)


했을 시에 다른 부분도 정상적으로 나옵니다.

그런데, 노래 차트 중 19금이라는 표시가 떠 있는 차트 하나만 공백이 계속 남아있었습니다.


13 Alcohol-Free TWICE (트와이스)

14 롤린 (Rollin') 브레이브걸스 (Brave girls)

15 19금





                                   Peaches (Feat. Daniel Caesar & Giveon) Justin Bieber

16 Dun Dun Dance 오마이걸 (OH MY GIRL)

17 Dynamite 방탄소년단

18 라일락 아이유 (IU)

19 안녕 (Hello) 조이 (JOY)


브라우저 검사를 해보니 이것만 tr>td>a>span으로 묶여있었고, 그것때문에 공백이 생긴것 같았습니다.

그래서 이것도 공백을 없애주고 싶었습니다.




for music in chart:
    a = music.select_one('td.info > a.title.ellipsis')
    if a is not None:
        title = a.text.strip()
        rank = music.select_one('td.number').text[0:2].strip()
        artist = music.select_one('td.info > a.artist.ellipsis').text
        doc = {
            'title':title,
            'rank':rank,
            'artist':artist,
        }

        print(rank, title, artist,)

이것이 완성한 코드였고, 다음으로 변경하였습니다.

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




작성한 코드 및 에러 메세지

for music in chart:
    a = music.select_one('td.info > a.title.ellipsis')
    if a is not None:
        title = a.text.strip()
        rank = music.select_one('td.number').text[0:2].strip()
        artist = music.select_one('td.info > a.artist.ellipsis').text
        icon = music.select_one('td.info > a.title.ellipsis > span').text.strip()
        doc = {
            'title':title,
            'rank':rank,
            'artist':artist,
        }

        print(rank, title, artist, icon)

그러고나서 실행했더니 아래처럼 오류가 뜹니다.



Traceback (most recent call last):
 File "C:/Users/USER/Desktop/sparta/pythonprac/genie.py", line 24, in <module>
   icon = music.select_one('td.info > a.title.ellipsis > span').text.strip()
AttributeError: 'NoneType' object has no attribute 'text'


어느부분을 고쳐야 하나요?

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

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

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




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