【问题标题】:BeautifulSoup web scraping multiple pages URL doesn't changeBeautifulSoup 网页抓取多个页面 URL 不会改变
【发布时间】:2019-09-23 06:29:54
【问题描述】:

当使用漂亮的汤来抓取评论时,我遇到了“所有受众”评论的问题。更改评论列表页面时 URL 不会更新。

这是一个例子: https://www.rottentomatoes.com/m/midsommar/reviews?type=user

单击下一步时,URL 不会发生任何变化。

基于我尝试的另一个线程中提供的一些其他答案(我可能说错了)跟踪 xhr 请求,我相信正在运行的确切脚本是我在图片中突出显示的内容(我不'没有 10 声望,所以不能发布图片)。

Network Method Post

当我查看该 GET 操作的标题时,我看到了一个请求 URL,当我尝试它包含我需要的所有信息时,问题是我不知道它们的命名约定以转到下一页.以下是页面之间 RequestURLs 的变化。

Request URL page 1->2

Request URL page 2->3

我怎样才能得到漂亮的汤来迭代这些?

谢谢!

下面应该有足够的代码来尝试这个,忽略一些命名。

from bs4 import BeautifulSoup as soup
from urllib.request import Request, urlopen

x = input('What Movie?').replace(" ", "_").lower()

req_rot = Request('https://www.rottentomatoes.com/m/' + str(x) + '/reviews?type=user', headers={'User-Agent': 'Mozilla/5.0'})

webpage_rot = urlopen(req_rot).read()

page_soup_rot = soup(webpage_rot, "html.parser")

reviews_rot = page_soup_rot.findAll("div",{"class":"audience-reviews__review-wrap"})

z_rot = re.findall(r'js-clamp"(.+)</p>', str(reviews_rot))

Movie_Adj_rot = re.sub("[^\w]", " ",  str(z_rot)).split()

【问题讨论】:

    标签: python web-scraping beautifulsoup pagination request


    【解决方案1】:

    这个问题的更好描述是窗口分页,我发现最简单的解决方案是学习 selenium 并在单击每个页面上的下一个按钮元素的范围循环中插入一个抓取功能。

    【讨论】:

      猜你喜欢
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      相关资源
      最近更新 更多