heritrix学习总结
转] heritrix学习总结
1 下载 和 解压
从http://crawler.archive.org/下载解压到本地 E:\heritrix-1.14.3
2 配置环境变量
HERITRIX_HOME=E:\heritrix-1.14.3
path后追加 ;%HERITRIX_HOME%\bin
3 配置 heritrix
拷贝E:\heritrix-1.14.3\conf\jmxremote.password.template到E:\heritrix-1.14.3下
并从命名为jmxremote.password
修改E:\heritrix-1.14.3\conf下的heritrix.properties 文件
用UrltraEditor或其他的文本编辑工具打开,找到 heritrix.cmdline.admin =
admin是空的 这是登陆heritrix UI的用户名和密码 格式为 username:password
heritrix.cmdline.admin = admin:admin
heritrix.cmdline.port = 8080 配置端口 为了不和tomcat的8080端口冲突我改为8888
用winrar 打开E:\heritrix-1.14.3下的heritrix-1.14.jar文件,将其目录中的profiles文件夹拷到
E:\heritrix-1.14.3\conf目录下即完成heritrix的配置
(用些网友说要将jmxremote.password文件的属性改为只读,我不知道为什么?,官方文档里也没说)
4 启动heritrix
开始 -》运行 -》cmd 打开cmd端口
输入heritrix --admin=admin:admin
--admin heritrix的启动参数 必须的*
弹出一个Heritrix窗口 打印。。。。。。。。。。。。。Heritrix version: 1.14.3
cmd窗口打印出
2009-04-15 星期三 10:42:03.04 Starting heritrix
Heritrix 1.14.3 is running.
Web console is at: http://127.0.0.1:8888
Web console login and password: admin/admin
表示启动完成
5 抓取任务
用浏览器打开http://127.0.0.1:8888 输入用户名和密码
选Jobs选项, 在Create New Job 下选择 With defaults 子项
Create new crawl job based on default profile
Name of new job 和Description 随便写
Seeds 填写要抓取的网站 http://www.verycd.com/ (必须以/结尾)
单击Modules 按钮
Select Modules and Add/Remove/Order Processors
从上而下,可以看到,需要配置的内容共有7项
1.CrawlScope
CrawlScope用于配置当前应该在什么范围内抓取网页链接。比如,如果选择BroadScope,则表示当前
抓 取的范围不受限制,但如果选择了HostScope,则表示抓取的范围在当前的Host内。
选择 org.archive.crawler.scope.BroadScope 单击change按钮即可
2.URI Frontier
URI Frontier是一个URL的处理器,它将决定下一个被处理的URL是什么。同时,它还会将经由处理器
链所解析出来的URL加入到等待处理的队列中去。在例子中,使用BdbFrontier类来做为处理器,全权
掌管URL的分配
选择 org.archive.crawler.frontier.BdbFrontier 单击change按钮即可
3.Pre Processors
这个队列中,所有的处理器都是用来对抓取时的一些先决条件做判断的。比如判断robot.txt的信息等
,它是整个处理器链的入口
选择org.archive.crawler.prefetch.Preselector 和
org.archive.crawler.prefetch.PreconditionEnforcer 两项 (在下拉列表中选择好,点击Add添加即可
)
4.Fetcher:从名称上看,它用于解析网络传输协议,比如解析DNS、HTTP或FTP等
选择org.archive.crawler.fetcher.FetchDNS
org.archive.crawler.fetcher.FetchHTTP 两个单击Add添加
5.Extractors
它主要用是于解析当前获取到的服务器返回内容,这些内容通常是以字符串形式缓存的。在这个队列中
,包括了一系列的工具,如解析HTML、CSS等。在解析完毕,取出页面中的URL后,将它们放入队列中,等
待下次继续抓取
org.archive.crawler.extractor.ExtractorHTTP
org.archive.crawler.extractor.ExtractorHTML
org.archive.crawler.extractor.ExtractorCSS
org.archive.crawler.extractor.ExtractorJS
org.archive.crawler.extractor.ExtractorSWF
6.Writers
Writers主要是用于将所抓取到的信息写入磁盘。通常写入磁盘时有两种形式,一种是采用压缩的方式写
入,在这里被称为Arc方式,另一种则采用镜象方式写入。当然处理起来,镜象方式要更为容易一些。
默认的是Arc方式 点击旁边的Remove 删除 在下拉框中选择
org.archive.crawler.writer.MirrorWriterProcessor 单击Add添加
7 Post Processors
在整个抓取解析过程结束后,进行一些扫尾的工作,比如将前面Extractor解析出来的URL有条件的加入
到待处理队列中去
org.archive.crawler.postprocessor.CrawlStateUpdater
org.archive.crawler.postprocessor.LinksScoper
org.archive.crawler.postprocessor.FrontierScheduler 单击Add添加
【在设置时,可以看见在队列的右侧总是有“Up”、“Down”和“Remove”这样的操作是因为在处理器链
的设置过程中,每一个队列中的处理器都是要分先后顺序的】
设置运行时的参数
在设置完处理链后,选择Jobs菜单的“Settings”项进入运行参数设置页面 . 进入运行参数设置页面
后,有很多可以设定的参数,对于需要了解详情的设置,请点击设置框左边的“?”号,可看到弹出的帮
助信息。这里只要更改 “HTTP-Header”项中的内容,更改其属性值user-agent和 from
其中user-agent中的 PROJECT_URL_HERE 对应自己的完整URL地址,(http://192.168.16.128)
from中设置自己的合法email地址 只需是格式正确的邮件地址就可以
@VERSION@是设置heritrix的版本 填上1.14.3
user-agent Mozilla/5.0 (compatible; heritrix/1.14.3 +http://192.168.16.128)
设置完成后单击“Submit job”链接 会回到Job是页面
显示了“Job created”,这表示刚才所设置的抓取任务已经被成功的建立。同时,在下面的“Pending
Jobs”一栏,可以清楚的看到刚刚被创建的Job,它的状态目前为“Pending”。
最后启动这个任务。回到“Console”界面上,可以看到刚刚创建的任务已经显示了出来,等待我们开始
它。
单击面版中的“Start”链接,就会将此时处于“Pending”状态的抓取任务激活,令其开始抓取
此时,面版中出现了一条抓取状态栏,它清楚的显示了当前已经被抓取的链接数量
抓取完毕后在E:\heritrix-1.14.3\目录下生成以个jobs目录
进入jobs 可以看到 verycd-20090415024225919 其中verycd就是job的名称
进去 里面有一个mirror目录 是因为在前面设置了Writer的类型为MirrorWriter
里面每一个站点的URL地址即为保存的目录名称
至此 heritrix抓取任务就到此结束...
从http://crawler.archive.org/下载解压到本地 E:\heritrix-1.14.3
2 配置环境变量
HERITRIX_HOME=E:\heritrix-1.14.3
path后追加 ;%HERITRIX_HOME%\bin
3 配置 heritrix
拷贝E:\heritrix-1.14.3\conf\jmxremote.password.template到E:\heritrix-1.14.3下
并从命名为jmxremote.password
修改E:\heritrix-1.14.3\conf下的heritrix.properties 文件
用UrltraEditor或其他的文本编辑工具打开,找到 heritrix.cmdline.admin =
admin是空的 这是登陆heritrix UI的用户名和密码 格式为 username:password
heritrix.cmdline.admin = admin:admin
heritrix.cmdline.port = 8080 配置端口 为了不和tomcat的8080端口冲突我改为8888
用winrar 打开E:\heritrix-1.14.3下的heritrix-1.14.jar文件,将其目录中的profiles文件夹拷到
E:\heritrix-1.14.3\conf目录下即完成heritrix的配置
(用些网友说要将jmxremote.password文件的属性改为只读,我不知道为什么?,官方文档里也没说)
4 启动heritrix
开始 -》运行 -》cmd 打开cmd端口
输入heritrix --admin=admin:admin
--admin heritrix的启动参数 必须的*
弹出一个Heritrix窗口 打印。。。。。。。。。。。。。Heritrix version: 1.14.3
cmd窗口打印出
2009-04-15 星期三 10:42:03.04 Starting heritrix
Heritrix 1.14.3 is running.
Web console is at: http://127.0.0.1:8888
Web console login and password: admin/admin
表示启动完成
5 抓取任务
用浏览器打开http://127.0.0.1:8888 输入用户名和密码
选Jobs选项, 在Create New Job 下选择 With defaults 子项
Create new crawl job based on default profile
Name of new job 和Description 随便写
Seeds 填写要抓取的网站 http://www.verycd.com/ (必须以/结尾)
单击Modules 按钮
Select Modules and Add/Remove/Order Processors
从上而下,可以看到,需要配置的内容共有7项
1.CrawlScope
CrawlScope用于配置当前应该在什么范围内抓取网页链接。比如,如果选择BroadScope,则表示当前
抓 取的范围不受限制,但如果选择了HostScope,则表示抓取的范围在当前的Host内。
选择 org.archive.crawler.scope.BroadScope 单击change按钮即可
2.URI Frontier
URI Frontier是一个URL的处理器,它将决定下一个被处理的URL是什么。同时,它还会将经由处理器
链所解析出来的URL加入到等待处理的队列中去。在例子中,使用BdbFrontier类来做为处理器,全权
掌管URL的分配
选择 org.archive.crawler.frontier.BdbFrontier 单击change按钮即可
3.Pre Processors
这个队列中,所有的处理器都是用来对抓取时的一些先决条件做判断的。比如判断robot.txt的信息等
,它是整个处理器链的入口
选择org.archive.crawler.prefetch.Preselector 和
org.archive.crawler.prefetch.PreconditionEnforcer 两项 (在下拉列表中选择好,点击Add添加即可
)
4.Fetcher:从名称上看,它用于解析网络传输协议,比如解析DNS、HTTP或FTP等
选择org.archive.crawler.fetcher.FetchDNS
org.archive.crawler.fetcher.FetchHTTP 两个单击Add添加
5.Extractors
它主要用是于解析当前获取到的服务器返回内容,这些内容通常是以字符串形式缓存的。在这个队列中
,包括了一系列的工具,如解析HTML、CSS等。在解析完毕,取出页面中的URL后,将它们放入队列中,等
待下次继续抓取
org.archive.crawler.extractor.ExtractorHTTP
org.archive.crawler.extractor.ExtractorHTML
org.archive.crawler.extractor.ExtractorCSS
org.archive.crawler.extractor.ExtractorJS
org.archive.crawler.extractor.ExtractorSWF
6.Writers
Writers主要是用于将所抓取到的信息写入磁盘。通常写入磁盘时有两种形式,一种是采用压缩的方式写
入,在这里被称为Arc方式,另一种则采用镜象方式写入。当然处理起来,镜象方式要更为容易一些。
默认的是Arc方式 点击旁边的Remove 删除 在下拉框中选择
org.archive.crawler.writer.MirrorWriterProcessor 单击Add添加
7 Post Processors
在整个抓取解析过程结束后,进行一些扫尾的工作,比如将前面Extractor解析出来的URL有条件的加入
到待处理队列中去
org.archive.crawler.postprocessor.CrawlStateUpdater
org.archive.crawler.postprocessor.LinksScoper
org.archive.crawler.postprocessor.FrontierScheduler 单击Add添加
【在设置时,可以看见在队列的右侧总是有“Up”、“Down”和“Remove”这样的操作是因为在处理器链
的设置过程中,每一个队列中的处理器都是要分先后顺序的】
设置运行时的参数
在设置完处理链后,选择Jobs菜单的“Settings”项进入运行参数设置页面 . 进入运行参数设置页面
后,有很多可以设定的参数,对于需要了解详情的设置,请点击设置框左边的“?”号,可看到弹出的帮
助信息。这里只要更改 “HTTP-Header”项中的内容,更改其属性值user-agent和 from
其中user-agent中的 PROJECT_URL_HERE 对应自己的完整URL地址,(http://192.168.16.128)
from中设置自己的合法email地址 只需是格式正确的邮件地址就可以
@VERSION@是设置heritrix的版本 填上1.14.3
user-agent Mozilla/5.0 (compatible; heritrix/1.14.3 +http://192.168.16.128)
设置完成后单击“Submit job”链接 会回到Job是页面
显示了“Job created”,这表示刚才所设置的抓取任务已经被成功的建立。同时,在下面的“Pending
Jobs”一栏,可以清楚的看到刚刚被创建的Job,它的状态目前为“Pending”。
最后启动这个任务。回到“Console”界面上,可以看到刚刚创建的任务已经显示了出来,等待我们开始
它。
单击面版中的“Start”链接,就会将此时处于“Pending”状态的抓取任务激活,令其开始抓取
此时,面版中出现了一条抓取状态栏,它清楚的显示了当前已经被抓取的链接数量
抓取完毕后在E:\heritrix-1.14.3\目录下生成以个jobs目录
进入jobs 可以看到 verycd-20090415024225919 其中verycd就是job的名称
进去 里面有一个mirror目录 是因为在前面设置了Writer的类型为MirrorWriter
里面每一个站点的URL地址即为保存的目录名称
至此 heritrix抓取任务就到此结束...