如何解决使用python的beautifulSoup库从IMDB网站抓取电影评论
我想从 IMDB 网站上抓取特定电影的所有评论。我已经使用了 BeautifulSoup 包的“Html-parser”。
Link
考虑这个链接,我想抓取这部电影的所有电影评论(即 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
我对网络抓取很陌生,如果有人能帮助我,我将不胜感激。
解决方法
如果您想抓取一个页面,首先您必须了解它是如何工作的,使用开发工具检查并分析网络调用,然后您必须模拟您需要的调用。
在这种情况下,页面使用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">
希望对你有帮助
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。