专栏名称: java那些事
分享java开发中常用的技术,分享软件开发中各种新技术的应用方法。每天推送java技术相关或者互联网相关文章。关注“java那些事”,让自己做一个潮流的java技术人!《java程序员由笨鸟到菜鸟》系列文章火热更新中。
目录
相关文章推荐
Java编程精选  ·  330个“假补丁”差点混入主线?LinusT ... ·  19 小时前  
芋道源码  ·  Spring-Security ... ·  16 小时前  
Java编程精选  ·  Controller层代码这么写,简洁又优雅! ·  昨天  
51好读  ›  专栏  ›  java那些事

33款可用来抓数据的开源爬虫软件工具

java那些事  · 公众号  · Java  · 2018-11-30 16:00

正文

请到「今天看啥」查看全文



7、jcrawl

jcrawl是一款小巧性能优良的的web爬虫,它可以从网页抓取各种类型的文件,基于用户定义的符号,比如email、qq。


  • 授权协议: Apache

  • 开发语言: Java

  • 操作系统: 跨平台

  • 特点:轻量、性能优良,可以从网页抓取各种类型的文件


8、JSpider

JSpider是一个用Java实现的WebSpider,JSpider的执行格式如下:

jspider [URL] [ConfigName]


URL一定要加上协议名称,如:http://,否则会报错。如果省掉ConfigName,则采用默认配置。


JSpider 的行为是由配置文件具体配置的,比如采用什么插件,结果存储方式等等都在conf\[ConfigName]\目录下设置。JSpider默认的配置种类 很少,用途也不大。但是JSpider非常容易扩展,可以利用它开发强大的网页抓取与数据分析工具。要做到这些,需要对JSpider的原理有深入的了 解,然后根据自己的需求开发插件,撰写配置文件。


  • 授权协议: LGPL

  • 开发语言: Java

  • 操作系统: 跨平台

  • 特点:功能强大,容易扩展


9、Leopdo

用JAVA编写的web 搜索和爬虫,包括全文和分类垂直搜索,以及分词系统


  • 授权协议: Apache

  • 开发语言: Java

  • 操作系统: 跨平台

  • 特点:包括全文和分类垂直搜索,以及分词系统


10、MetaSeeker

是一套完整的网页内容抓取、格式化、数据集成、存储管理和搜索解决方案。

网络爬虫有多种实现方法,如果按照部署在哪里分,可以分成:


(1)服务器侧:一般是一个多线程程序,同时下载多个目标HTML,可以用PHP, Java, Python(当前很流行)等做,可以速度做得很快,一般综合搜索引擎的爬虫这样做。但是,如果对方讨厌爬虫,很可能封掉你的IP,服务器IP又不容易 改,另外耗用的带宽也是挺贵的。建议看一下Beautiful soap。


(2)客户端:一般实现定题爬虫,或者是聚焦爬虫,做综合搜索引擎不容易成功,而垂直搜诉或者比价服务或者推荐引擎,相对容易很多,这类爬虫不是什么页面都 取的,而是只取你关系的页面,而且只取页面上关心的内容,例如提取黄页信息,商品价格信息,还有提取竞争对手广告信息的,搜一下Spyfu,很有趣。这类 爬虫可以部署很多,而且可以很有侵略性,对方很难封锁。


MetaSeeker中的网络爬虫就属于后者。


MetaSeeker工具包利用Mozilla平台的能力,只要是Firefox看到的东西,它都能提取。


MetaSeeker工具包是免费使用的,下载地址: www.gooseeker.com/cn/node/download/front


特点:网页抓取、信息提取、数据抽取工具包,操作简单


11、Playfish

playfish是一个采用java技术,综合应用多个开源java组件实现的网页抓取工具,通过XML配置文件实现高度可定制性与可扩展性的网页抓取工具


应用开源jar包包括httpclient(内容读取),dom4j(配置文件解析),jericho(html解析),已经在 war包的lib下。


这个项目目前还很不成熟,但是功能基本都完成了。要求使用者熟悉XML,熟悉正则表达式。目前通过这个工具可以抓取各类论坛,贴吧,以及各类CMS系统。像Discuz!,phpbb,论坛跟博客的文章,通过本工具都可以轻松抓取。抓取定义完全采用XML,适合Java开发人员使用。


使用方法:1.下载右边的.war包导入到eclipse中, 2.使用WebContent/sql下的wcc.sql文件建立一个范例数据库, 3.修改src包下wcc.core的dbConfig.txt,将用户名与密码设置成你自己的mysql用户名密码。 4.然后运行SystemCore,运行时候会在控制台,无参数会执行默认的example.xml的配置文件,带参数时候名称为配置文件名。


系统自带了3个例子,分别为baidu.xml抓取百度知道,example.xml抓取我的javaeye的博客,bbs.xml抓取一个采用 discuz论坛的内容。


  • 授权协议: MIT

  • 开发语言: Java

  • 操作系统: 跨平台

  • 特点:通过XML配置文件实现高度可定制性与可扩展性


12、Spiderman

Spiderman 是一个基于微内核+插件式架构的网络蜘蛛,它的目标是通过简单的方法就能将复杂的目标网页信息抓取并解析为自己所需要的业务数据。

怎么使用?


首先,确定好你的目标网站以及目标网页(即某一类你想要获取数据的网页,例如网易新闻的新闻页面)


然后,打开目标页面,分析页面的HTML结构,得到你想要数据的XPath,具体XPath怎么获取请看下文。


最后,在一个xml配置文件里填写好参数,运行Spiderman吧!


  • 授权协议: Apache

  • 开发语言: Java

  • 操作系统: 跨平台

  • 特点:灵活、扩展性强,微内核+插件式架构,通过简单的配置就可以完成数据抓取,无需编写一句代码








请到「今天看啥」查看全文