如何在这个页面加载另js返回上一个页面面而且用js能回去加载页面的值

)很简单,用Jsoup就可以做到因为頁面加载后的数据填充到html里面,此时查看源代码会看见数据都在源代码里面这时候可以利用Jsoup爬取,前几天有个需求要爬取天眼查的数据( *)自以为和之前做的DEMO一样,不难就利用原来的DEMO改改,之后居然获取不到想要的

以下是我将要爬取的页面:


习惯性审查一下要爬取的元素:


注意中间的空格。第一个是phantomjs第二个是code.js的路径,第三个是爬取的路径

此时终端执行命令,发现整个页面已经爬取下来
接下来就是洳何与Java结合了。
执行命令Java可以这么做

这样就可以获得输入流了获得输入流之后想要怎么操作就简单了吧。
获取了文件流想操作dom,如何操作呢
看了一下Jsoup,发现


第一个参数是输入流第二个是字符集,第三个是地址:

获取到Document再操作dom元素就很明了了
最后用JFrame做了个界面

执行起來发现不稳定,有时候能爬取到页面有时候就会失败,让我以为是网站做的限制后来发现多次重复爬取效率过快的话网站会让输入验證码,导致卡住

爬取不到我初步怀疑是因为爬取的时候页面还没加载完毕,就进行抓取有时候网速快,加载好了就能抓取到有时候沒有加载好,爬取失败看了下phantomjs例子()

增加了setTimeout方法后,等待5s差不多执行完页面和js此时再去抓取页面,发现成功率大大提高

(2017年12月05日 删除圖片,泄漏隐私了)

抓取到后再把需要的写出文件就可以了

在js脚本中怎么先加载一个frame页面加载完成后,再执行frame页面中的函数?

我要回帖

更多关于 js关闭当前页面 的文章

 

随机推荐