如何用Python爬虫抓取JS动态筛选内容

2024-11-19 06:29:27
推荐回答(2个)
回答1:

打开浏览器,以google chrome为例,输入你上面的网址。
然后按F12打开调试窗口,然后尝试勾选左边某一个选项,马上可以看到右边的调试窗口有东西输出。
找到第一个输出的行,点击header,可以看到每一个都是用的post方法。
所以只需要构造相应的header并post上去,就可以得到你想要的数据了。

尝试每一个request都点开看一下

就是你要构造的数据

FormData就是你要构造的数据

把数据构造好然后使用post函数发送给网站


这个得到的是一个网页格式的数据。


而这个发放返回的是json数据,然后编码成dict格式 提取出数据就可以了。

回答2:

网页的新闻在HTML源码中一条都找不到,全是由JS动态生成加载。
遇到这种情况,我们应该如何对网页进行爬取呢?
有两种方法:
1、从网页响应中找到JS脚本返回的JSON数据;
2、使用Selenium对网页进行模拟访问
在此只对第一种方法作介绍,关于Selenium的使用,后面有专门的一篇。
从网页响应中找到JS脚本返回的JSON数据
即使网页内容是由JS动态生成加载的,JS也需要对某个接口进行调用,并根据接口返回的JSON数据再进行加载和渲染。
所以我们可以找到JS调用的数据接口,从数据接口中找到网页中最后呈现的数据。