【问题标题】:How to web scrape IMDB movie rating如何通过网络抓取 IMDB 电影评分
【发布时间】:2022-01-18 02:55:36
【问题描述】:

我正在尝试从 IMDB 网站上获取电影评分。 我正在尝试以下代码,但它给出了错误,即

AttributeError: 'NoneType' 对象没有属性 'text'

我的代码:

rating_sauce = urllib.request.urlopen('https://www.imdb.com/title/tt1596343/?ref_=tt_urv')
 
rating_soup = bs.BeautifulSoup(rating_sauce, 'html.parser')
 
#container = rating_soup.find('div', {'class':'ipc-button__text'})
 
rating = rating_soup.find('span', {'class':'AggregateRatingButton__RatingScore-sc-11129m0-1'}).text

print("Movie Rating::" + rating)

【问题讨论】:

  • 错字。您正在寻找sc-11129m0-1,而它应该是sc-1ll29m0-1。也就是说,“ess cee dash 一 ell ell 二九”。
  • AttributeError: 'NoneType' object has no attribute 'text' 它仍然给我这个错误。
  • 使用这个 - rating_soup.find('span', {'class':'AggregateRatingButton__RatingScore-sc-1ll29m0-1'}).text
  • @Ram 我试过了,但我面临同样的问题

标签: python web-scraping beautifulsoup


【解决方案1】:

我不明白为什么它不适合你。 试试这个

import urllib.request
import bs4 as bs

rating_sauce = urllib.request.urlopen('https://www.imdb.com/title/tt1596343/?ref_=tt_urv')
rating_soup = bs.BeautifulSoup(rating_sauce, 'html.parser')
 
 
rating = rating_soup.find('span', {'class':'AggregateRatingButton__RatingScore-sc-1ll29m0-1'}).text

print("Movie Rating::" + rating)
Movie Rating::7.3

【讨论】:

  • 是的。我真的不知道可能是什么问题,因为我的代码在 Jupyter Notebook 上运行良好。
  • 嗯,。那么,什么不起作用?您是否在阻止 IMDB 的公司防火墙后面尝试此操作?
  • 如果防火墙是问题所在,那么它不应该在 Jupyter Notebook 上工作,但这里不是这样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 2013-01-08
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多