JS实现的爬虫,你觉得有用不
首先澄清一下,JS实现的爬虫是指用JS实现解析逻辑的爬虫,大概的想法就是把某个页面的内容下载下来,像IE或者Firefox那样把HTML的内容解析成DOM树,然后用JS解析页面的内容,得到自己想要的东西。
为什么要用JS呢?一是会JS的人基本都是搞WEB相关的东西的,DOM什么的都是熟人熟路;二是JS里面像CSS selector、jquery这样方便的东西,用起来应该是很爽的。
如果有这么个东西,大家以后没事爬爬数据的时候还是很方便的。
大家觉得这个主意怎么样?要是觉得好的人多,我打算找人一起弄个比较成熟的包出来 。 1 楼 wjjchen 2011-01-21 JS如何跨域抓取数据? 2 楼 hackwaly 2011-01-21 不错有想法
1L的问题可以通过修改浏览器的源代码实现 3 楼 illu 2011-01-22 我想请教下 你如何把别人的HTML网页用JS转换成DOM对象? 4 楼 kyfxbl 2011-01-22 hackwaly 写道不错有想法
1L的问题可以通过修改浏览器的源代码实现
有什么用?你改完浏览器的源代码,然后呢?就你自己一个人自娱自乐?还是拿出¥来推广你这浏览器? 5 楼 yonglin4605 2011-01-22 kyfxbl 写道hackwaly 写道不错有想法
1L的问题可以通过修改浏览器的源代码实现
有什么用?你改完浏览器的源代码,然后呢?就你自己一个人自娱自乐?还是拿出¥来推广你这浏览器?
目的是为了实现爬虫,不是黑客吧。
本来就是自用的,不需要改别人的浏览器啊 6 楼 181054867 2011-01-22 有必要用JS做这个事情吗? 7 楼 wangking717 2011-01-22 这个首要条件是需要解决JS跨域问题。 8 楼 tsoukw 2011-01-23 用js的唯一目的可能就是解析dom方便吧,但是效率应该很低,因为是要通过浏览器先显示成html,然后再析出dom模型供js调用,应该说意义 不是很大
参考一下这个博客园的网友的作品:
Jumony入门(一)从这里开始
http://www.cnblogs.com/Ivony/archive/2010/12/19/jumony-guide-1.html 9 楼 kjj 2011-01-23 js爬虫?要把网页解析成dom树,我觉得面临最大的问题是,如果面对各种不规范的html,看你有啥办法!!!! 10 楼 mikab 2011-01-24 可能我说的不是很清楚。
JS实现的爬虫是指用JS实现解析逻辑的爬虫,但是资源的下载以及生成DOM等操作都是由Java来实现的。按照我帖子所说,用JS实现解析逻辑,主要还是看重了JS对DOM的天生友好以及很多的外部的库。
当然,脚本语言肯定不是java等编译语言跑的快,这是不可避免的缺陷。但是对于广大的不是专业爬虫开发人员来说,有个能使、方便的抓数据的东东,应该还是有用的。 11 楼 mikab 2011-01-24 kyfxbl 写道hackwaly 写道不错有想法
1L的问题可以通过修改浏览器的源代码实现
有什么用?你改完浏览器的源代码,然后呢?就你自己一个人自娱自乐?还是拿出¥来推广你这浏览器?
我们不做浏览器,我们只做工具软件包。 12 楼 mikab 2011-01-24 kjj 写道js爬虫?要把网页解析成dom树,我觉得面临最大的问题是,如果面对各种不规范的html,看你有啥办法!!!!
我们不需要自己从头做起,可以有很多的开源的代码可以用的。
另外如果只做解析,不做显示,应该麻烦会小很多。 13 楼 wangking717 2011-01-26 mikab 写道可能我说的不是很清楚。
JS实现的爬虫是指用JS实现解析逻辑的爬虫,但是资源的下载以及生成DOM等操作都是由Java来实现的。按照我帖子所说,用JS实现解析逻辑,主要还是看重了JS对DOM的天生友好以及很多的外部的库。
当然,脚本语言肯定不是java等编译语言跑的快,这是不可避免的缺陷。但是对于广大的不是专业爬虫开发人员来说,有个能使、方便的抓数据的东东,应该还是有用的。
如果资源的下载都是JAVA来实现,就不存在着跨域的问题了。LZ仅仅用JS来实现DOM的解析,很方便?用下HTMLparser吧,这个解析DOM就更方便了。 14 楼 mikab 2011-01-26 wangking717 写道mikab 写道可能我说的不是很清楚。
JS实现的爬虫是指用JS实现解析逻辑的爬虫,但是资源的下载以及生成DOM等操作都是由Java来实现的。按照我帖子所说,用JS实现解析逻辑,主要还是看重了JS对DOM的天生友好以及很多的外部的库。
当然,脚本语言肯定不是java等编译语言跑的快,这是不可避免的缺陷。但是对于广大的不是专业爬虫开发人员来说,有个能使、方便的抓数据的东东,应该还是有用的。
如果资源的下载都是JAVA来实现,就不存在着跨域的问题了。LZ仅仅用JS来实现DOM的解析,很方便?用下HTMLparser吧,这个解析DOM就更方便了。
没看出HTMLparser比我这个提议更方便的地方。
你真的用过JS+selector从网页里提取数据吗? 15 楼 wangking717 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解析友好? 16 楼 mikab 2011-01-27 没错,就是因为用js能非常方便的方便的访问到DOM中某节点,并且提取其中想要的数据。
如果纯用Java解析肯定是比java+js的混合模式的运行效率要高很多的,但是java+js的开发效率要高很多的。 17 楼 achun 2011-02-01 这个东西是完全可行的
具体实现到那一个细节咱们不讨论
js在页面上运行的优势,那是无可争议的
事实上我工作中已经做了一种手工的页面数据采集
就是针对具体的页面,写js,然后以书签的形式保存(sogou云输入也用的这种方法)
人工判断如果页面可抓的话,直接点击书签
书签就是一个js引人,完成页面数据采集,然后以window.name做数据传递(这种方法虽然不够高级,不过成本最低了)到提交页面,就是这样了
当然如果开放成浏览器插件的话功能就会更强大了
这个很有搞头的,毕竟采集的内容如果不人工判断就发的话,那也就变成垃圾信息了