gpt4 book ai didi

python - 无法让 BeautifulSoup 仅返回 h3 类中的电影标题和分数

转载 作者:行者123 更新时间:2023-12-01 03:22:09 25 4
gpt4 key购买 nike

这是网站...

https://www.rottentomatoes.com/browse/dvd-top-rentals/?services=amazon;amazon_prime;fandango_now;hbo_go;itunes;netflix_iw;vudu

右键单击页面中间海报下方的标题,会显示代码。我已经尝试了从教程到发布的太多变体。这就是我的 Python 脚本的样子...

import requests
from bs4 import BeautifulSoup

url = "https://www.rottentomatoes.com/browse/dvd-top-rentals/?services=amazon;amazon_prime;fandango_now;hbo_go;itunes;netflix_iw;vudu"

r = requests.get(url)

soup = BeautifulSoup(r.content, "lxml")

下一步?????????

最佳答案

此页面由 JavaScript 渲染,请求只会返回 html 代码: enter image description here

真实数据在这个url中:

https://www.rottentomatoes.com/api/private/v2.0/browse?page=1&limit=30&type=dvd-top-rentals&services=amazon%3Bamazon_prime%3Bfandango_now%3Bhbo_go%3Bitunes%3Bnetflix_iw%3Bvudu&sortBy=popularity

代码:

import requests

r = requests.get('https://www.rottentomatoes.com/api/private/v2.0/browse?page=1&limit=30&type=dvd-top-rentals&services=amazon%3Bamazon_prime%3Bfandango_now%3Bhbo_go%3Bitunes%3Bnetflix_iw%3Bvudu&sortBy=popularity')

data = r.json()
for result in data["results"]:
print(result["title"], result["tomatoScore"])

输出:

The Girl on the Train 43
Keeping Up With The Joneses 19
Ouija: Origin of Evil 82
Long Way North (Tout en haut du monde) 98
The Whole Truth 29
Come And Find Me 67
LEGO Jurassic World: The Indominus Escape None
My Father, Die 88
When Elephants Were Young None
Roger Corman's Death Race 2050 None
Take the 10 None
Deepwater Horizon 83
The Accountant 51
The Birth of a Nation 72
Kevin Hart: What Now? 76

答案:

  1. 如何知道网站是否由 JavaScript 渲染?

当您需要抓取网站时,只需禁用浏览器中的JavaScript,检查页面内容是否发生更改。 enter image description here

我在chrome中使用这个扩展来一键禁用JS。

  • 如何在浏览器中找到真实的url?
  • enter image description here使用chrome dev-tools的网络来监控网络事件,即使页面使用JS来获取数据,它仍然需要向服务器发出请求,您可以在网络选项卡中找到这些请求。

  • u''是python2中unicode的表示,在python3中是默认设置。它只在Python中显示,无需担心。
  • 关于python - 无法让 BeautifulSoup 仅返回 h3 类中的电影标题和分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819726/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com