[英]BeautifulSoup web scraping multiple pages URL doesn't change
当使用漂亮的汤来抓取评论时,我遇到了“所有观众”评论的问题。 更改评论列表页面时,URL 不会更新。
这是一个例子: https://www.rottentomatoes.com/m/midsommar/reviews?type=user
单击下一步时,URL 没有变化。
基于我尝试的另一个线程中可用的其他一些答案(我可能会说错)跟踪 xhr 请求,我相信正在运行的确切脚本是我在此处的图片中突出显示的内容(我没有10 声望,所以不能发布图片)。
当我查看该 GET 操作的 header 时,我看到了一个请求 URL,当我尝试它包含我需要的所有信息时,问题是我不知道它们的命名约定以转到下一页。 以下是页面之间的 RequestURLs 如何变化。
我怎样才能得到漂亮的汤来迭代这些?
谢谢!
下面应该有足够的代码来尝试这个,忽略一些命名。
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()
对这个问题更好的描述是窗口分页,我发现最简单的解决方案是学习 selenium 并在单击每个页面上的下一个按钮元素的范围循环中插入一个刮擦 function。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.