如何在页面加载时抓取数据?

让我们看一下Steam社区Grant Theft Auto V Reviews的网页。你会注意到网页的完整内容不会一口气加载。

我们需要向下滚动以在网页上加载更多内容。这是网站后端开发人员使用的一种称为“延迟加载”的优化技术。

但是对我们来说,问题是,当我们尝试从该页面抓取数据时,我们只会得到该页面的有限内容:

一些网站还创建了“加载更多”按钮,而不是无休止的滚动想法。仅当你单击该按钮时,它将加载更多内容。内容有限的问题仍然存在。因此,让我们看看如何抓取这些网页。

导航到目标URL并打开“检查元素网络”窗口。接下来,点击重新加载按钮,它将为你记录网络,如图像加载,API请求,POST请求等的顺序。

清除当前记录并向下滚动。你会注意到,向下滚动时,该网页正在发送更多数据的请求:

 进一步滚动,你将看到网站发出请求的方式。查看以下URL——仅某些参数值正在更改,你可以通过简单的Python代码轻松生成这些URL:

你需要按照相同的步骤来抓取和存储数据,方法是将请求一页一页地发送到每个页面。

尾注

这是使用功能强大的BeautifulSoup库对Python中的网络抓取进行的简单且对初学者友好的介绍。老实说,当我正在寻找一个新项目或需要一个现有项目的信息时,我发现网络抓取非常有用。

注意:如果你想以更结构化的形式学习本教程,我们有一个免费课程,我们将教授网络抓取BeatifulSoup。你可以在此处查看—— 使用Python进行Web爬网简介。

如前所述,还有其他一些库可用于执行Web抓取。我很想听听你更喜欢的库的想法(即使你使用R语言!),以及你对该主题的经验。在下面的评论部分中告诉我,我们将与你联系!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值