
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
a = movie.select_one('td.title > div > a')
if a is not None:
r = movie.select_one('td:nth-child(1) > img')['alt']
s = movie.select_one('td.point').text
title = a.text
rank = r
star = s
위 내용에서 title = a.text 여기도 rank와 star처럼 title = a로 입력하고
a = movie.select_one('td.title > div > a').text 이렇게 하려고 하면
ㄱㅖ속 에러가 뜨는데 무슨 차이일까요?
아래와 같은 메세지가 뜹니다
Traceback (most recent call last):
File "/Users/wonboklee/PycharmProjects/pythonProject/crollprac.py", line 19, in <module>
a = movie.select_one('td.title > div > a').text
AttributeError: 'NoneType' object has no attribute 'text'
import requests
from bs4 import BeautifulSoup
#headers 는 사람인척 하기!
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://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(5) > td.title > div > a
#old_content > table > tbody > tr:nth-child(2) > td:nth-child(1) > img
#old_content > table > tbody > tr:nth-child(3) > td:nth-child(1) > img
#old_content > table > tbody > tr:nth-child(2) > td.point
#old_content > table > tbody > tr:nth-child(3) > td.point
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
a = movie.select_one('td.title > div > a')
if a is not None:
r = movie.select_one('td:nth-child(1) > img')['alt']
s = movie.select_one('td.point').text
title = a.text
rank = r
star = s
#print(r)
print(rank, title, star)
#title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
