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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Python爬虫抓取JS动态筛选内容相关的知识,希望对你有一定的参考价值。

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

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

就是你要构造的数据

FormData就是你要构造的数据

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


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


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

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

以上是关于如何用Python爬虫抓取JS动态筛选内容的主要内容,如果未能解决你的问题,请参考以下文章

如何用python 爬虫在社交媒体上抓取评论

如何用python 爬虫抓取金融数据

如何用python获取京东的评论数据

如何用Python爬虫抓取网页内容?

如何用JAVA爬取AJAX加载后的页面

如何用python实现爬虫抓取网页时自动翻页