品易云推流 关闭
文章详情页
文章 > 代理ip > 解决爬虫数据异步加载的两个办法

解决爬虫数据异步加载的两个办法

头像

鸡爪君

2021-08-31 20:07:491335浏览 · 0收藏 · 0评论

1、内置一个浏览器内核:内置浏览器是指在抓取程序中启动浏览器核心,以便在js渲染后获得页面,这就像收集静态页面一样。

这种工具常用的有以下三种:Selenium、HtmlUnit、PhantomJs

这些工具可以帮助我们解决数据异步加载的问题,但都有效率低、不稳定的缺点。

2、反向解析法。

js呈现页面的数据是以Ajax的方式从后端获取的,我们只需要找到相应的Ajax请求连接,以便获取所需的数据。反向分析的优点之一是获取的数据都是json格式,分析方便;第二,相对于页面,界面变化的概率更小。

再一次强调,Ajax也有两个缺点,在Ajax中,您需要耐心和技巧,因为您需要在一大堆请求中找到您想要的;对于JavaScript呈现的页面,反向解析方法只能束手无策。

以上是异步数据加载的两种解决方案,必须根据情况进行选择。内置浏览器对某些使用JavaScript片段呈现的页面会更可靠。对其它情况而言,采用反向解析法更好,因为其性能和稳定性都比内置浏览器内核更可靠。

爬虫遇上数据异步加载,试试这两种办法如今许多项目都是前端和后端分开的,这将使数据异步加载问题更加突出。出现这类问题时不必慌张,总体来说,有两种解决办法太阳http都已经总结出来啦!

(推荐操作系统:windows7系统、Internet Explorer 11,DELL G3电脑。)

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图