Heritrix基础

原帖地址:http://www.cnblogs.com/hejycpu/archive/2009/01/26/1381004.html

下载Heritrix


     下载页面:http://crawler.archive.org/downloads.html,在此页面中选择 Sourceforge Downloads进入下载列表,选择一个版本的ZIP压缩包进行下载。我下载的版本是Heritrix-1.12.1,因为网上的说明好像都是针对这个版本的……

安装、配置Heritrix
     1、将得到的Heritrix压缩包直接解压缩到某一目录,我选择的是D:/Heritrix。
     2、将 /Heritrix 目录中的heritrix-1.12.1.jar文件解包,把 profiles/default 下的两个文件order.xml和seeds.txt复制到 /heritrix/conf 目录。
     3、以文本编辑方式打开 /heritrix/conf 下的heritrix.properties文件,在“heritrix.cmdline.admin = ” 项的后面加入你所要设定的管理员账户和密码,用“:”分割,如:
     heritrix.cmdline.admin = admin:admin
     4、复制 /heritrix/conf 下的jmxremote.password.template文件到主目录/Heritrix 下,并更名为jmxremote.password。编辑此文件,更改最后两行"monitorRole @PASSWORD@"、"controlRole @PASSWORD@"中的"@PASSWORD@"为管理员密码。如:
                  monitorRole admin
                  controlRole admin
系统自带脚本运行
  将cmd定位到 D:"heritrix"bin,执行 "heritrix --admin=admin:admin" 命令,即可启动 heritrix,

有一点需要注意,heritrix默认使用8080端口,要保证系统端口没有冲突。之后便可以访问 http://127.0.0.1:8080 http://localhost:8080/ 使用 heritrix 提供的WUI,即Web管理端。并且使用"admin/admin"登录。

 [2]选Jobs选项,设置抓取页为http://news.sohu.com/

处理器链的设置方法很简单,就是在下拉列表中选择好,点击Add添加即可。要注意每一项处理器设置都是有顺序关系的。每一项的名称其实都揭示了其作用。
 
这些处理器分别是:

1. frontier

org.archive.crawler.frontier.BdbFrontier  默认的不是这个,注意替换掉默认的,不然的话运行时会出现后面那个异常

2. scope

org.archive.crawler.scope.BroadScope

3. Prefetcher

org.archive.crawler.prefetch.Preselector
org.archive.crawler.prefetch.PreconditionEnforcer

4. Fetcher

org.archive.crawler.fetcher.FetchDNS
org.archive.crawler.fetcher.FetchHTTP

5. Extractor

org.archive.crawler.extractor.ExtractorHTTP
org.archive.crawler.extractor.ExtractorHTML

(这里可以按自己的需要多添几个,比如ExtractorSWF、ExtractorJS什么的,但是前两个是必不可少的)

6. Writer

org.archive.crawler.writer.MirrorWriterProcessor

7. PostProcessor

org.archive.crawler.postprocessor.CrawlStateUpdater
org.archive.crawler.postprocessor.LinksScoper
org.archive.crawler.postprocessor.FrontierScheduler

(FrontierScheduler可以自行扩展)
      
选择Jobs菜单的“Settings”项进入运行参数设置页面。进入运行参数设置页面后,有很多可以设定的参数,点击设置框左边的“?”号,可看到弹出的帮助信息。最简单的可只更改“HTTP-Header”项中的内容,更改其属性值“user-agent”和“from”。
 
其中“user-agent”中的“PROJECT_URL_HERE”对应自己的完整URL地址,“from”中设置自己的合法email地址,这两项设置其实可随便设置,只要格式规则合法即可。图中的@VERSION@可设置为1.12.1,即1.12.1版本的。

设置完成后,点击Submit job菜单项,即完成全部任务的建立工作。

 
运行任务
           通过提交设定好的任务,页面返回到Jobs的主菜单,在页面下方有任务的一些信息和设置菜单。此时点击左上角的“Console”菜单,返回主页面,点击“Start”可以开始任务。点击左下角红色框标出的“Refresh”选项,可以刷新任务状态。要暂停当前任务。可点击任务状态旁的选项“Pause”。抓取页面会存放在工作目录下的mirror文件夹内。

 

每一个站点的URL地址即为保存的目录名称,其文件和对应的服务目录结构被保存到此目录下面。此处看出,Heritrix更像一个强大的网站下载工具。至此,Heritrix的简单抓取任务设置描述完毕。

 

 

补充:为了在抓取时不保存其他无关页面,可扩展FrontierScheduler来抓取特定的内容。

 

如果出现这样的异常:

第一条异常
Time:  ??. 26, 2009 06:52:05 GMT 
Level:  SEVERE 
Message:  On crawl: news Unable to setup crawl modules

Exception:  java.lang.ClassCastException: org.archive.crawler.settings.ModuleType cannot be cast to org.archive.crawler.framework.Frontier
Stacktrace: java.lang.ClassCastException: org.archive.crawler.settings.ModuleType cannot be cast to org.archive.crawler.framework.Frontier
at org.archive.crawler.framework.CrawlController.setupCrawlModules(CrawlController.java:654)
at org.archive.crawler.framework.CrawlController.initialize(CrawlController.java:377)
at org.archive.crawler.admin.CrawlJob.setupForCrawlStart(CrawlJob.java:846)
at org.archive.crawler.admin.CrawlJobHandler.startNextJobInternal(CrawlJobHandler.java:1142)
at org.archive.crawler.admin.CrawlJobHandler$3.run(CrawlJobHandler.java:1125)
at java.lang.Thread.run(Unknown Source)

第二条异常
Time:  ??. 26, 2009 06:52:05 GMT 
Level:  WARNING 
Message:  Value of illegal type: 'org.archive.crawler.settings.ModuleType', 'org.archive.crawler.framework.Frontier' was expected.: Value of illegal type: 'org.archive.crawler.settings.ModuleType', 'org.archive.crawler.framework.Frontier' was expected.

Exception:  No associated exception.

有可能是Frontier设置错误导致的。检查一下上面配置处理链的部分,是否选中的是:org.archive.crawler.frontier.BdbFrontier 

内容概要:本文详细介绍了如何利用Simulink进行自动代码生成,在STM32平台上实现带57次谐波抑制功能的霍尔场定向控制(FOC)。首先,文章讲解了所需的软件环境准备,包括MATLAB/Simulink及其硬件支持包的安装。接着,阐述了构建永磁同步电机(PMSM)霍尔FOC控制模型的具体步骤,涵盖电机模型、坐标变换模块(如Clark和Park变换)、PI调节器、SVPWM模块以及用于抑制特定谐波的陷波器的设计。随后,描述了硬件目标配置、代码生成过程中的注意事项,以及生成后的C代码结构。此外,还讨论了霍尔传感器的位置估算、谐波补偿器的实现细节、ADC配置技巧、PWM死区时间和换相逻辑的优化。最后,分享了一些实用的工程集成经验,并推荐了几篇有助于深入了解相关技术和优化控制效果的研究论文。 适合人群:从事电机控制系统开发的技术人员,尤其是那些希望掌握基于Simulink的自动代码生成技术,以提高开发效率和控制精度的专业人士。 使用场景及目标:适用于需要精确控制永磁同步电机的应用场合,特别是在面对高次谐波干扰导致的电流波形失真问题时。通过采用文中提供的解决方案,可以显著改善系统的稳定性和性能,降低噪声水平,提升用户体验。 其他说明:文中不仅提供了详细的理论解释和技术指导,还包括了许多实践经验教训,如霍尔传感器处理、谐波抑制策略的选择、代码生成配置等方面的实际案例。这对于初学者来说是非常宝贵的参考资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值