Ошибка BeautifulSoup AttributeError: объект 'NoneType' не имеет атрибута 'getText' - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь создать программу, которая будет отбирать случайный мов ie из гнилых помидоров. Топ 100 фильмов всех времен. Затем я хочу напечатать название mov ie и рейтинг аудитории. Я получаю ошибку атрибута.

from urllib.request import urlopen
from bs4 import BeautifulSoup 
import random

url = "https://www.rottentomatoes.com/top/bestofrt/"
page = urlopen(url)
soup = BeautifulSoup(page, 'html.parser')
table = soup.find("table",attrs={"class":"table"})
links = table.findAll("a")
titles = []
hyperLinks = []

for link in links:
  titles.append(link.getText().strip())
  hyperLinks.append(link["href"])

choice = random.randint(0,len(hyperLinks) - 1)
page2 = urlopen(url[:-14] + hyperLinks[choice])
soup2 = BeautifulSoup(page2,"html.parser")
span = soup.find("span",attrs={"class":"mop-ratings-wrap__percentage"})
print(titles[choice])
print(span.getText().strip())

Ошибка находится на последней строке, где я печатаю диапазон.

https://www.rottentomatoes.com/top/bestofrt/

1 Ответ

0 голосов
/ 29 апреля 2020

поменять суп на суп2

span = soup2.find("span",attrs={"class":"mop-ratings-wrap__percentage"})
...