python - 使用 Python 和 Beautiful Soup 获取 IMDB 评分
问题描述
我在这里尝试了几种不同的方法,但似乎没有任何效果,所以我希望你能提供任何帮助!
我正在尝试抓取 IMDB 页面(例如:https ://www.imdb.com/title/tt0120382/ )以获取电影的评分。当我抓取页面上的链接文本时,我设法做了类似的事情。效果很好,但这不是链接,所以我尝试过的任何方法都没有奏效。
评级绝对是纯 HTML 格式的:
"ratingCount": 905028,
"bestRating": "10.0",
"worstRating": "1.0",
"ratingValue": "8.1"
关于从页面中检索“8.1”值的最佳方法有什么想法吗?非常感谢你的帮助!
干杯,阿里
解决方案
rating 是一个带有 attribute 的 span 元素itemprop=ratingValue
,所以使用 BeautifulSoup 比较容易找到它。
import requests
from bs4 import BeautifulSoup
html = requests.get('https://www.imdb.com/title/tt0120382/').text
soup = BeautifulSoup(html, 'html.parser')
print(soup.find('span', {'itemprop': 'ratingValue'}).text)
输出
8.1
推荐阅读
- r - sliderInput() 或 sliderTextInput() 是否有任何方法具有 NA 或 NULL 默认值?
- python - 在 sns.lmplot() 中格式化 x 轴(日期)
- mysql - 状态码:404 Not Found (from service worker) NodeJs and reactjs in production
- javascript - 在 Node.js 中将字符串从 ISO-2022-JP 转换为 UTF-8
- python - 转换 Keras H5 模型 tflite 的问题
- c# - 将 Node.js aes-128-ecb (hex) 加密与 C# .NET Core 3.1 匹配
- flutter - Flutter 的未知错误 MissinPluginException
- python - Discord Bot Python 消息复制但更改内容
- javascript - 在 Fusioncharts 和纯 JAVASCRIPT 示例中显示 JSON、XML、CSV 数据
- google-sheets - REGEXREPLACE 所有字符,直到至少 4 个连续的大写字母