使用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">

希望对你有帮助

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...