我想从IMDB网站上抓取某部电影的所有评论。我已经使用了BeautifulSoup包的'Html-parser‘来做同样的事情。
考虑这个链接,我想要抓取这部电影的所有评论(即Total = 69),但由于在页面上可以看到25条评论,Soup将只提取25条评论,而不是这里的总评论。
我的代码:
url = "https://www.imdb.com/title/tt6654210/reviews?ref_=tt_ov_rt"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
review_list = getReviewsList(soup)
len(review_list)输出:
25我是网络刮擦的新手,如果有人能帮我做同样的事,我将不胜感激。
发布于 2021-06-11 12:28:35
如果你想对一个页面进行抓取,首先你必须了解它是如何工作的,使用开发工具检查并分析网络调用,然后你必须模拟你需要的调用。
在本例中,页面使用ajax以分页的方式获得评论
你必须打电话给:
https://www.imdb.com/title/tt6654210/reviews/_ajax?ref_=undefined&paginationKey=g4wp7dreqyzd4zql7kvh3obyrtum6az4y4hhzo5ziwr26fbyhvrl4ty4o4yvzmjkcrxndtvd7hmf6y6yefcmwoi6hkwovare分页密钥在页面中由以下标签提供:
<div class="load-more-data" data-key="g4wp7dreqyzd4zql7kvh3obyrtum6az4y4hhzo5ziwr26fbyhvrl4ty4o4yvzmjkcrxndtvd7hmf6y6yefcmwoi6hkwovare" data-ajaxurl="/title/tt6654210/reviews/_ajax">我希望我能帮上忙
https://stackoverflow.com/questions/67931115
复制相似问题