"开源爬虫: Heritrix 1.14.4 安装/使用
Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。本文详细介绍了 Heritrix 在 Eclipse 中的配置、运行。
目前 Heritrix 的最新版本是 3.1.0(2011-10-21 发布),您可以从 SourceForge(http://sourceforge.net/projects/archive-crawler/files/)上下载。每个版本都有四个压缩包,两个 .tar.gz 包用于 Linux 下,.zip 用于 windows 下。
如:http://sourceforge.net/projects/archive-crawler/files/archive-crawler (heritrix 1.x)/1.14.4/
其中 heritrix-1.14.4.zip 是源代码经过编译打包后的文件,而 heritrix-1.14.4-src.zip 中包含原始的源代码,方便进行二次开发。本文需要用到 heritrix-1.14.4-src.zip,将其下载并解压至 heritrix-1.14.4-src 文件夹。
在 Eclipse 中的配置
首先在 Eclipse 中新建 Java 工程 MyHeritrix。然后利用下载的源代码包根据以下步骤来配置这个工程。
1. 导入类库
Heritrix 所用到的工具类库都在 heritrix-1.14.4-src\lib 目录下,需要将其导入 MyHeritrix 工程。
1)将 heritrix-1.14.4-src 下的 lib 文件夹拷贝到 MyHeritrix 项目根目录;
2)在 MyHeritrix 工程上右键单击选择“Build Path -> Configure Build Path …”,然后选择 Library 选项卡,单击“Add JARs …”,如图 1 所示。
图 1. 导入类库 - 导入前
<img src=""http://static.oschina.net/uploads/space/2014/0422/103810_Jw86_1465651.jpg"" alt="""" />
3)在弹出的“JAR Selection”对话框中选择 MyHeritrix 工程 lib 文件夹下所有的 jar 文件,然后点击 OK 按钮。如图 2 所示。
图 2. 选择类库
<img src=""http://static.oschina.net/uploads/space/2014/0422/103822_xO08_1465651.jpg"" alt="""" />
设置完成后如图 3 所示:
图 3. 导入类库 - 导入后
<img src=""http://static.oschina.net/uploads/space/2014/0422/103834_n8Gz_1465651.jpg"" alt="""" />
2. 拷贝源代码
1)将 heritrix-1.14.4-src\src\java 下的 com、org 和 st 三个文件夹拷贝进 MyHeritrix 工程的 src 下。这三个文件夹包含了运行 Heritrix 所必须的核心源代码;
2)将 heritrix-1.14.4-src\src\resources\org\archive\util 下的文件 tlds-alpha-by-domain.txt 拷贝到 MyHeritrix\src\org\archive\util 中。该文件是一个顶级域名列表,在 Heritrix 启动时会被读取;
3)将 heritrix-1.14.4-src\src 下 conf 文件夹拷贝至 Heritrix 工程根目录。它包含了 Heritrix 运行所需的配置文件;
4)将 heritrix-1.14.4-src\src 中的 webapps 文件夹拷贝至 Heritrix 工程根目录。该文件夹是用来提供 servlet 引擎的,包含了 Heritrix 的 web UI 文件。需要注意的是它不包含帮助文档,如果想使用帮助,可以将 heritrix-1.14.4.zip\docs 中的 articles 文件夹拷贝到 MyHeritrix\webapps\admin\docs(需新建 docs 文件夹)下。或直接用 heritrix-1.14.4.zip 的 webapps 文件夹替换 heritrix-1.14.4-src\src 中的 webapps 文件夹,缺点是这个是打包好的 .war 文件,无法修改源代码。
拷贝完毕后的 MyHeritrix 工程目录层次如图 4 所示。这里运行 Heritrix 所需的源代码等已经准备完备,下面需要修改配置文件并添加运行参数。
图 4. MyHeritrix 工程的目录层次
Heritrix环境搭建:http://www.dwz.cn/gFX4l
从图 17 也可以看出,因为我们选择了 BroadScope 的抓取范围,爬虫会抓取所有遇到的 URL,这样会造成 URL 队列无限制膨胀,无法终止,只能强行终止任务。尽管 Heritrix 也提供了一些抓取范围控制的类,但是根据实际测试经验,如果想要完全实现自己的抓取逻辑,仅仅靠 Heritrix 提供的抓取控制是不够的,只能修改扩展源代码。
原文地址:http://blog.chinaunix.net/uid-29511780-id-4220179.html
" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/f9ed3b94262f412ba6e5bebbe4e3d8e6.png)"
还在用eclipse啊,这个没有添加到v7依赖
######怎么解决,我去查了一下v7的,还不太会弄,android sdk manager 里面没有v7的,不知道怎么弄清楚,ecplise 中的安装android sdk 是通过网址安装的https://dl-ssl.google.com/android/eclipse/ 方法,然后建立android 项目就出错了,求解?######没看到你贴的代码有什么错误。
原因:
IDE报告的 error 信息应该是资源没有编译,导致所有 java 代码对资源的引用都是 error(红色下划线)。
处理:
项目路径里最好不要出现中文,比如 “D:\Users\Jack\workspace\第一个应用\”。你可以选择一个全英文目录建立一个英文名称的app(app名字可以)试一下
######补充,一楼说的也有道路,不过 eclipse 怎么添加 v7 支持库我也忘了。。。
推荐使用 Android
" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/e8f027a90d6a42de8027c6c31d9cca94.png)版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。