java 获取js的html内容_html,java_java爬取js动态加载的内容,html,java,javascript - phpStudy...

java爬取js动态加载的内容

在写爬虫的时候需要下载一个页面上的附件,比如http://www.jsqts.gov.cn/zjxx/... 这个网站上面的附件,但是直接用jsoup抓取页面的话html里什么都没有,百度了之后知道好多内容是js动态加载的,于是使用了httpunit,模拟浏览器执行完js,但是返回的页面还是不包含附件信息,代码如下:

String url = "http://www.jsqts.gov.cn/zjxx/GovInfoPub/Department/showinfo.aspx?InfoID=4a6f06c1-2a1b-40f9-bbfe-caafc0100428&CategoryNum=001010";

WebClient webClient = new WebClient(BrowserVersion.CHROME);

//设置webClient的相关参数

webClient.getOptions().setThrowExceptionOnScriptError(false);

webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);

webClient.getOptions().setJavaScriptEnabled(true);

webClient.getOptions().setActiveXNative(false);

webClient.getOptions().setCssEnabled(false);

webClient.waitForBackgroundJavaScript(600*1000);

webClient.setAjaxController(new NicelyResynchronizingAjaxController());

//模拟浏览器打开一个目标网址

HtmlPage rootPage = webClient.getPage(url);

System.out.println("为了获取js执行的数据 线程开始沉睡等待");

Thread.sleep(1000);//主要是这个线程的等待 因为js加载也是需要时间的

System.out.println("线程结束沉睡");

String xml = rootPage.asXml();

System.out.println(xml.contains("2016年三季度省级工业产品监督检查结果 .xls"));//false

请教大佬们

相关阅读:

关于 GIT 怎么设置多个不同的部署公钥?

angular里面的作用域继承是怎么实现的的?

在meta里设置了防止浏览器缓存的代码 在地址栏回车为什么还是有缓存呢?

【图】这个设计如何实现?

react子组件怎么改变父组件的state

我用docker build的时候出现下边问题 麻烦帮我看一下

chart.js (intermediate value).Line is not a function(…)

请问mongoodb是不是除了npm install之外还需要单独安装一下

vue-router url变化了,但页面并未跳转,然后刷新后才会到该页面

pyspider运行起来丢header参数

请问Vuejs2如何用变量的值作为标签的指令名呢?

visual studio 2015安装成功后打不开

我这几天一直想一个问题,我们这一代互联网人,老了以后,开发不动了怎么办!

Autodesk Forge Viewer里如何获得当前的选择集,或已知构件DbId高亮此对象?

maven依赖问题.

return false没有阻止浏览器默认打开链接行为

如何在 python 2.7 中使用 Function Annotation 吗?

一个mysql联表查询的问题

JS引入无文件头的JSON文件如何取值。

react发起ajax get请求的参数问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值