java爬虫 异步加载数据怎么解决

java爬虫 异步加载数据怎么解决,第1张

给题主两种思路参考:

1、内置一个浏览器内核

内置浏览器就是在抓取的程序中,启动一个浏览器内核,使我们获取到 js 渲染后的页面,这样我们就跟采集静态页面一样了。这种工具常用的有以下三种: - Selenium - HtmlUnit - PhantomJs

这些工具都能帮助我们解决数据异步加载的问题,但是他们都存在缺陷,那就是效率不高而且不稳定。

2、反向解析法

什么是反向解析法呢?我们 js 渲染页面的数据是通过 Ajax 的方式从后端获取的,我们只需要找到对应的 Ajax 请求连接就 OK,这样我们就获取到了我们需要的数据,反向解析法的好处就是这种方式获取的数据都是 json 格式的数据,解析起来也比较方便,另一个好处就是相对页面来说,接口的变化概率更小。同样它有两个不足之处,一个是在 Ajax 时你需要有耐心有技巧,因为你需要在一大推请求中找到你想要的,另一个不足的地方就是对 JavaScript 渲染的页面束手无策。

这种是工作上的问题把。

没给点好处很难做。

需要一个定时任务。不断去扫这个页面。一有更新马上获取。

获取需要用到解析html标签的jar包。

很简单。但是不想在这浪费时间给你写。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10711304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存