본문 바로가기

Code

[python] beautifulsoup4 crawling_html에서 속성값 출력 문제 해결

1. 초안

네이버 영화 html에서 각 영화의 순위, 제목, 평점을 한 데 묶어서 크로울링하는 작업이었다.

각각을 a, b, c라는 변수에 담아서 한 번에 출력하려던 것이 오류였다.

수정 전: 'NoneType' object has no attribute 오류

 

"movie.select_one('td.ac > img').attrs['alt']"

 

강조한 부분이 앞의 select_one한 태그들을 읽지 못하는 것 같다.

추측하기로는 movies 중의 movie에 해당하는 tag 중 값이 없는 부분이 있어서 그런 것 같다. 

 

 

수정 후: 속성값과 텍스트만 추출하는 함수를 print하기 직전에 적용함

 

1. a, b, c 요소가 속한 tag들을 먼저 추림

2. tag 중 none 값에 해당하는 것을 조건문으로 제거

3. none 값이 아닌 tag들을 대상으로 다시 한 번 a, b, c 타겟하여 추리기

4. print