当使用漂亮的汤来网络抓取评论时,我在"所有观众"评论方面遇到了问题。更改审阅列表页时,URL 不会更新。
下面是一个示例: https://www.rottentomatoes.com/m/midsommar/reviews?type=user
单击下一步时不会对 URL 进行任何更改。
根据我尝试(我可能说错了(跟踪 xhr 请求的另一个线程中可用的其他一些答案,我相信正在运行的确切脚本是我在这里的图片中突出显示的(我没有 10 个声誉,所以不能发布图像(。
网络方法发布
当我查看该 GET 操作的标题时,我看到一个请求 URL,当我尝试它包含我需要的所有信息时,问题是我不知道他们进入下一页的命名约定。以下是请求网址在网页之间的变化方式。
请求网址页面 1->2
请求网址页面 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()
这个问题的更好描述是窗口分页,我发现最简单的解决方案是学习硒并在单击每个页面上的下一个按钮元素的范围内插入一个抓取函数。