数据采集的另一种思路 - 浏览器脚本注入

本文介绍了如何使用浏览器脚本注入的方式,绕过网站限流和时间戳校验,实现数据采集。通过获取文章ID集合,注入FileSaver.js库,创建AJAX请求下载数据,最后将数据导入数据库,整个过程无需模拟请求或浏览器。这种方法在面对特定限制时提供了新的解决方案。
摘要由CSDN通过智能技术生成

昨天想去极客时间把购买的一个专栏里的数据扒下来,发现之前写的python脚本不能用了,原因是他们网站做了限流、也加了http时间戳的一些校验。我们可以将之前的python脚本进行改进,用ip代理池来处理限流,寻找时间戳验证的规则就可以解决。

但是这次我们用了另外的一种爬虫的思路,就是我们直接写一些js脚本,在对方的网站里运行,去请求相应的接口,从而得到想要的数据。

这种思路其实见过很多例子,之前有一个很火的,qq空间自动点赞的脚本,看过它的源码,其实很简单,就是直接去操作dom,然后触发一些事件。

另外一个很火的例子,github上很火的一个repo, fuckZhihu,据说是winter当年退知乎时写的,将自己在知乎的数据保存下来。

下面是这次实践的内容:

获取文章id集合

刚进入专栏的时候会有一个获取左侧文章列表集合的请求,在这个接口里,我们就能获取到当前专栏的所有请求。

image.png

这个专栏大概有50多篇文章,因为限流的原因,我们分成两次进行请求。

注入FileSaver.js

FileSaver是一个运行在浏览器中,将数据下载为json或者excel文件的库。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值