我用Jsoup抓取网页,但是抓取不到js执行后的,哪个帮助下?

我用Jsoup.connect(url+"/"+bqlists.get(j)[0]).timeout(10000).get();抓取到了网页其他信息,但是就是js执行后的... 我用Jsoup.connect(url+"/"+bqlists.get(j)[0]).timeout(10000).get();抓取到了网页其他信息,但是就是js执行后的内容抓取不到,比如网站www.8uu.com中的内容,哪个大哥帮助下 展开
 我来答
依土天羽
2013-11-18 · TA获得超过289个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:402万
展开全部
JS执行后的结果一般都抓不到吧,除非你的程序运行环境可以模拟浏览器环境,检测到脚本后执行取结果,不然用URL抓页面只能拿到页面上的静态部分。
追问
我看别人说用htmlunit可以抓取到   我抓取的不是固定的网站  有20几个这样的网站   咋搞哦
追答
你说的这种需求在爬虫程序中需求不是太高,所以没考虑过,不过一般的你要是能把浏览器干的事都干了,或者大部分都干了,应该就能解决了,执行js脚本不是问题,java 6本身就携带script执行功能,问题是,怎么实现上下文和dom操作部分,你要是能把这两部分解决了,问题就解决了
htmlunit就是用Rhinojs引擎实现的js执行,你可以参考参考
其实就是一个分析抓到的结果,并执行脚本的过程,比如,找到所有用script标签引用或者包裹的,然后还得找连接里面的脚本比如javascript:...,和写在标签上的事件什么的,基本上就是要实现一个浏览器,除了不用显示
不过最主要的就是Ajax异步获取的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
keven1006
2013-11-18 · TA获得超过684个赞
知道小有建树答主
回答量:820
采纳率:66%
帮助的人:375万
展开全部
js加载的一般那种采集技术是搞不定的,因为数据都不在返回的字符串里面,你用八爪鱼采集器吧,支持这种js加载的数据的,免费的,还有专门的视频教程,很容易的
追问
那已经是别人写好的工具哈  我现在是自己写这种工具  其他都搞好了 就只差这个了
追答
那祝你好运
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式