搜索引擎的实现过程,可以看作三步:1. 从互联网上抓取网页2. 对网页进行处理,建立索引数据库3. 进行查询。因此无论什么样的搜索引擎,都必须要有一个设计良好的爬虫来支持。
1.Heritrix
优点:Heritrix 是SourceForge 上基于Java 的开源爬虫,它可以通过Web 用户界面来启动、设置爬行参数并监控爬行,同时开发者可以随意地扩展它的各个组件,来实现自己的抓取逻辑,因其方便的可扩展性而深受广大搜索引擎爱好者的喜爱。
缺点:虽然Heritrix 功能强大,但其配置复杂,而且官方只在Linux 系统上测试通过,用户难以上手。
根据网上来看这个软件还没有完善。
2. WebSPHINX
优点:比较简单
缺点:只能一个字段
3.网页抓取/信息提取/数据抽取软件工具包MetaSeeker (GooSeeker) V
4.11.2正式发布,在线版免费下载和使用,源代码可阅读。自推出以来,深受喜爱,主要应用领域:
•垂直搜索(Vertical Search):也称为专业搜索,高速、海量和精确抓取是定题网络爬虫DataScraper
的强项,每天24小时每周7天无人值守自主调度的周期性批量采集,加上断点续传和软件看门狗(Watch Dog),确保您高枕无忧
•移动互联网:手机搜索、手机混搭(mashup)、移动社交网络、移动电子商务都离不开结构化的数据内容,DataScraper实时高效地采集内容,输出富含语义元数据的
XML格式的抓取结果文件,确保自动化的数据集成和加工,跨越小尺寸屏幕展现和高精准信息检索的障碍。手机互联网不是Web的子集而是全部,由MetaSeeker架设桥梁
•企业竞争情报采集/数据挖掘:俗称商业智能(Business Intelligence),噪音信息滤除、结构化转换,确保数据的准确性和时效性,独有的广域分布式架构,赋予DataScraper 无与伦比的情报采集渗透能力,AJAX/Javascript动态页面、服务器动态网页、静态页面、各种鉴权认证机制,一视同仁。在微博网站数据采集和舆情监测领域远远领先其它产品。
4. seeker/cn/node/document/metaseeker/installationv4/deployclient
缺点是:只是限定于firefox浏览器
MetaSeeker工具包是一套完整的网页内容抓取、格式化、数据集成、存储管理和搜索解决方案,此文简单介绍一下其网络爬虫的特点:
网络爬虫有多种实现方法,如果按照部署在哪里分,可以分成:
1,服务器侧:一般是一个多线程程序,同时下载多个目标HTML,可以用PHP,Java, Python(当前很流行)等做,可以速度做得很快,一般综合搜索引擎的爬虫这样做。但是,如果对方讨厌爬虫,很可能封掉你的IP,服务器IP又不容易改,另外耗用的带宽也是挺贵的。建议看一下Beautiful soap。
2,客户端:一般实现定题爬虫,或者是聚焦爬虫,做综合搜索引擎不容易成功,而垂直搜诉或者比价服务或者推荐引擎,相对容易很多,这类爬虫不是什么页面都取的,而是只取你关系的页面,而且只取页面上关心的内容,例如提取黄页信息,商品价格信息,还有提取竞争对手广告信息的,搜一下Spyfu,很有趣。这类爬虫可以部署很多,而且可以很有侵略性,对方很难封锁。
MetaSeeker中的网络爬虫就属于后者。
如果从怎样提取数据上分,还可以分成两类,我们只说定题爬虫,普通爬虫要简单的多,网上大把。这两类是:
python正则表达式爬虫1,通过正则表达式提取内容,HTML文件就是一个文本文件,直接使用正则表达式在指定地方提取内容即可,指定地方不一定是绝对定位,例如,可以参照HTML的标签定位,更准确
2,利用DOM提取内容,HTML文件先转成DOM数据结构,在遍历这个结构提取内容。
MetaSeeker中的网络爬虫还属于后者。
有人会问,为什么还要用DOM方式,转了一道?有很多原因决定DOM方式的存在理由:
首先,DOM结构的分析都不用自己做,有现成的库,编程并没有变复杂;