Android如何用jsoup解析一个动态的网页的数据

Android需要利用jsoup解析一个网页的数据,但是有些数据是滑动到网页底部自动加载的(不用点击加载更多),所以如果直接解析该网页url的数据是无法解析动态加载的数据的,该如何实现动态解析并获取这个网页的数据?

补充:修改为在Android平台实现这个功能;数据是滑动到网页底部自动加载

阅读 10k
5 个回答

这个需要浏览器的环境吧,比如采用沙箱机制,我不知道Java里有没有这种类库来模拟浏览器,如果项目是Java Web的话,另一个思路可以在一个JSP页面中添加一个iframe,iframe的src设置为你要获取的链接,然后js触发iframe里面页面的onscroll事件,然后将结果回传到server,不知道可不可行。。。

新手上路,请多包涵

看看网站的js如何处理滑动请求

JSOUP获取到的只是网页的框架和一大堆JS,我用的方法是用selenium,利用浏览器经过渲染之后再获取的。至于你说要滑动到最底部,selenium可以模仿Pg Dn按键,你只要多按几次就会到底部,比如说淘宝界面的内容

3种方法可参考下
1)phantomJS来渲染及模拟用户行为,可以后台无界面渲染
2)Electron框架加载页面,JS代码模拟用户行为,例如翻页,鼠标移动,获取页面完整地HTML内容后再解析处理
3)通过浏览器分析页面的网络请求行为,获取动态加载数据时执行的http请求。在java中使用httpclient发送过个http请求的方式来获取完整地页面数据

使用jsoup获取相应数据,再使用Webview显示就行,就无需点击加载更多。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏