火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 4790|回复: 18

火车(现版本)所干不了的事情和新火车该干的事情

[复制链接]
发表于 2008-11-3 19:02:10 | 显示全部楼层 |阅读模式
是指老火车

一、动态内容很难抓到
        火车现在通过httpwebrqeust(不论是通过socket调用,还是通过httpclient等工具都一样),抓的都是“死”的网页数据,其中的javascript脚本是不会运行的。假如网页部分内容由javascript生成,那么这种抓取是很难抓到这类动态数据的。而在现今的互联网上,由于WEB2.0技术的流行,用javascript生成内容的网页比比皆是,并越来越多,老火车对此只能是望洋兴叹了。

二、HTML格式编程分析不易
        火车得到的是HTML源码,而HTML规范不够严格,导致程序解析上的困难。有不少开源的HTML解析器,但效果不尽如人意。最好的解析器应该属IE/FIREFOX浏览器内置的解析器了,但不易利用。另外,想编程获取网页中某个位置的数据也不容易,而这对于复杂内容识别是非常重要的。

三、不是通过真正的浏览器来抓取数据
        即便是通过模拟浏览器的行为来获取网页的,模拟达不到与浏览器完全相同的程度,因为不是通过真正的浏览器来抓取,所以在抓取网页时会存在这样那样的问题,都需编程解决。

四、网页信息不完整
        这不仅包括由javascript生成的内容抓不到,还包括网页中FRAME/IFRAME的内容需要单独获取。一般的网页抓取器只能在解析HTML源码后,再发送FRAME/IFRAME指定的源URL请求,才能得到其内容。

[ 本帖最后由 faunus 于 2008-11-3 19:16 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2008-11-3 19:08:06 | 显示全部楼层

新火车该干的事情

一、基于真正的浏览器构建
        新火车应该基于FIREFOX等浏览器核心构建。它通过类似FIREFOX浏览器的方法获取网页数据,其中javascript脚本是可执行的,得到的网页数据是“鲜活”的。所有由javascript生成的内容可完全得到。

二、新火车中间数据格式采用XML来记录
        XML是规范严格的标记语言,易于编程存取。新火车抓取后返回的就是XML格式的数据。利用XPATH,能对于这些数据进行绝对定位,存取十分方便。假如想得到文档的标题,执行XPATH命令/html/head/title即可。假如想得到文档中全部链接,执行一下XPATH命令[url=]//a/@href[/url]即可。假如想得到文档中全部图片,执行XPATH命令[url=]//img/@src[/url]即可。另外,若想得到整个文档的文本信息,也非常容易。利用dom4j的Document类的getStringValue()就可以得到。这样一种领先的技术,对于搜索引擎的数据抓取是非常重要的,能起到如虎添翼的作用。

三、网页信息完整
        新火车所返回的XML数据中,包含了javascript生成的内容,还包含了FRAME/IFRAME的内容,是完整的网页信息,勿需再次抓取。

四、增强的后台多线程运行
        新火车的多线程运行能力更强,除能同时接受多个抓取请求,稳定性更高,多线程下载超大文件。火车启动时,会自动启动多个抓取进程,这些进程是以服务器方式运行的,新火车接收到URL请求后会转发给某个抓取进程,而不是新建一个抓取进程来处理,节省了不少时间。

五、抓取协议更简单
        新火车采用类似HTTP形式的协议,简单有效。发送一个GET指令即可得到指定URL的网页数据。

六、能抓取由javascript脚本实现翻页的下一个页面数据
        有不少动态网站用javascript脚本来实现翻页的,一般抓取工具无法得到其下一个页面的数据。新火车在协议中增加了动态执行javascript脚本的命令EXEC和保持连接的命令CONTINUE。再结合GET命令,用户可以持续获取多个动态页面的数据。

[ 本帖最后由 faunus 于 2008-11-3 19:19 编辑 ]

评分

1

查看全部评分

发表于 2008-11-3 19:11:40 | 显示全部楼层
不顶 你这个帖子
我就枉在论坛呆1年了

顶这个基础性实力贴

建议加10节车厢
发表于 2008-11-3 19:33:50 | 显示全部楼层
厉害啊,俺看不明白,留给火车头看吧
发表于 2008-11-3 20:41:20 | 显示全部楼层
确实厉害!
发表于 2008-11-4 00:35:40 | 显示全部楼层
好建议.
发表于 2008-11-4 00:50:15 | 显示全部楼层
想的周到啊               
发表于 2008-11-4 10:13:08 | 显示全部楼层
最近在 faunus 这条大虫的影响下重新深入研究了HTTP协议和底层的一些,有很大收获,新版功能继续加强中

评分

1

查看全部评分

发表于 2008-11-4 10:27:56 | 显示全部楼层
用户需要的功能,产品的功能,永远是此消彼长。火车采集器的功能,不只是为了满足用户的需求。还要迎合和带动用户的需要。

用去的需要是不断发展的,随着技术,使用范围和使用经验不断增加,而火车开发的功能,并不一定能时时跟进。我觉得,可以提供一个完全开放的插件接口来供有能力的朋友实现编程开发。

目前,火车提供的PHP插件功能,就能满足很多朋友的需要。比如,在接口里可以直接实现内容的处理,可以直接连接Mysql,可以直接把数据采集到Mysql中,可以直接写成XML,可以存为PDF等等。当然,这仅仅是一个开始,插件功能还需要进一步完善,。比如PHP的兼容性,执行效率等。

已经在期待火车的下一个版本了。
发表于 2008-11-4 10:32:54 | 显示全部楼层
希望下一个版本用很方便用在vista和Windows server 2008系统上!
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2026-4-23 14:48

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表