论坛首页 Java企业应用论坛

JS实现的爬虫,你觉得有用不

浏览 17470 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (6)
作者 正文
   发表时间:2011-01-24  
可能我说的不是很清楚。

JS实现的爬虫是指用JS实现解析逻辑的爬虫,但是资源的下载以及生成DOM等操作都是由Java来实现的。按照我帖子所说,用JS实现解析逻辑,主要还是看重了JS对DOM的天生友好以及很多的外部的库。



当然,脚本语言肯定不是java等编译语言跑的快,这是不可避免的缺陷。但是对于广大的不是专业爬虫开发人员来说,有个能使、方便的抓数据的东东,应该还是有用的。
0 请登录后投票
   发表时间:2011-01-24  
kyfxbl 写道
hackwaly 写道
不错有想法
1L的问题可以通过修改浏览器的源代码实现


有什么用?你改完浏览器的源代码,然后呢?就你自己一个人自娱自乐?还是拿出¥来推广你这浏览器?



我们不做浏览器,我们只做工具软件包。
0 请登录后投票
   发表时间:2011-01-24  
kjj 写道
js爬虫?要把网页解析成dom树,我觉得面临最大的问题是,如果面对各种不规范的html,看你有啥办法!!!!


我们不需要自己从头做起,可以有很多的开源的代码可以用的。


另外如果只做解析,不做显示,应该麻烦会小很多。
0 请登录后投票
   发表时间:2011-01-26  
mikab 写道
可能我说的不是很清楚。

JS实现的爬虫是指用JS实现解析逻辑的爬虫,但是资源的下载以及生成DOM等操作都是由Java来实现的。按照我帖子所说,用JS实现解析逻辑,主要还是看重了JS对DOM的天生友好以及很多的外部的库。



当然,脚本语言肯定不是java等编译语言跑的快,这是不可避免的缺陷。但是对于广大的不是专业爬虫开发人员来说,有个能使、方便的抓数据的东东,应该还是有用的。


如果资源的下载都是JAVA来实现,就不存在着跨域的问题了。LZ仅仅用JS来实现DOM的解析,很方便?用下HTMLparser吧,这个解析DOM就更方便了。
0 请登录后投票
   发表时间:2011-01-26  
wangking717 写道
mikab 写道
可能我说的不是很清楚。

JS实现的爬虫是指用JS实现解析逻辑的爬虫,但是资源的下载以及生成DOM等操作都是由Java来实现的。按照我帖子所说,用JS实现解析逻辑,主要还是看重了JS对DOM的天生友好以及很多的外部的库。



当然,脚本语言肯定不是java等编译语言跑的快,这是不可避免的缺陷。但是对于广大的不是专业爬虫开发人员来说,有个能使、方便的抓数据的东东,应该还是有用的。


如果资源的下载都是JAVA来实现,就不存在着跨域的问题了。LZ仅仅用JS来实现DOM的解析,很方便?用下HTMLparser吧,这个解析DOM就更方便了。



没看出HTMLparser比我这个提议更方便的地方。
你真的用过JS+selector从网页里提取数据吗?
0 请登录后投票
   发表时间:2011-01-27  
mikab 写道
wangking717 写道
mikab 写道
可能我说的不是很清楚。

JS实现的爬虫是指用JS实现解析逻辑的爬虫,但是资源的下载以及生成DOM等操作都是由Java来实现的。按照我帖子所说,用JS实现解析逻辑,主要还是看重了JS对DOM的天生友好以及很多的外部的库。



当然,脚本语言肯定不是java等编译语言跑的快,这是不可避免的缺陷。但是对于广大的不是专业爬虫开发人员来说,有个能使、方便的抓数据的东东,应该还是有用的。


如果资源的下载都是JAVA来实现,就不存在着跨域的问题了。LZ仅仅用JS来实现DOM的解析,很方便?用下HTMLparser吧,这个解析DOM就更方便了。



没看出HTMLparser比我这个提议更方便的地方。
你真的用过JS+selector从网页里提取数据吗?

Jquery解析DOM,提取数据是比较简单,但是我没发现,做JS爬虫有点何在。就因为JS对DOM解析友好?
0 请登录后投票
   发表时间:2011-01-27  
没错,就是因为用js能非常方便的方便的访问到DOM中某节点,并且提取其中想要的数据。

如果纯用Java解析肯定是比java+js的混合模式的运行效率要高很多的,但是java+js的开发效率要高很多的。
0 请登录后投票
   发表时间:2011-02-01  
这个东西是完全可行的
具体实现到那一个细节咱们不讨论
js在页面上运行的优势,那是无可争议的
事实上我工作中已经做了一种手工的页面数据采集
就是针对具体的页面,写js,然后以书签的形式保存(sogou云输入也用的这种方法)
人工判断如果页面可抓的话,直接点击书签
书签就是一个js引人,完成页面数据采集,然后以window.name做数据传递(这种方法虽然不够高级,不过成本最低了)到提交页面,就是这样了
当然如果开放成浏览器插件的话功能就会更强大了
这个很有搞头的,毕竟采集的内容如果不人工判断就发的话,那也就变成垃圾信息了
0 请登录后投票
   发表时间:2011-07-12  

不是吧。
java也能解析html,也相当的方便,而且目前已经有成熟的类库。

还有必要用js吗?

下面是我刚在自己博客介绍的一款iava解析html的开源工具,使用相当方便,类很少。

关键是可以使用类似jquery的选择器操作dom。

如果要制作爬虫为什么不用纯后端技术。

前后端一起恐怕前后端交互就要消耗不少性能,这么做恐怕并不实用。

如果一定要用js做html解析,也完全可以交给服务端js来做。

rhino和nodejs都是很优秀的服务器js解析器。

rhino可以解释执行也可以把js编译成字节码执行。

nodejs是基于google的v8 js引擎的封装,v8即时把js编译成本地代码。速度相当快。chrome就是使用的v8。

曾经做过一个华容道寻路算法,ie假死三次,50多秒;其它除chrome外的其它浏览器都假死1到2次,耗时十几秒到三十几秒,只有chrome耗时最少,只花费2秒多。
http://runfriends.iteye.com/admin/blogs/1122663

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics