时间:2021-05-22
一、引言:
最近在忙某个商业银行的项目,需要引入外部互联网数据作为参考,作为技术选型阶段的工作,之前已经确定了中文分词工具,下一个话题就是网络爬虫的选择,目标很明确,需要下载一些财经网站的新闻信息,然后进行文本计算。记得上一次碰爬虫还是5年前,时过境迁,不知道爬虫的世界里是否有了新的崛起。比较过一些之后,初步认定Heritrix基本能够满足需要,当然肯定是需要定制的了。
二、版本选择
Heritrix当前版本3.1.0,安装后发现,启动任务时,Windows平台有BDBOpen的错误(具体原因不详),Linux环境没有测试。度娘了一把,没啥实质性收获,如果从源码去看,又太费时间。就换到了3.0.5,这个版本也有问题,就是创建Job时,总是提示文件夹有问题,可以选择手动创建下载任务。操作界面如下图所示:
三、配置任务-手动
1.jobs目录下新建文件夹sohu;
2.拷贝模板文件profile-crawler-beans.cxml到sohu目录
3.重命名profile-crawler-beans.cxml文件为crawler-beans.cxml
4.手动修改文件crawler-beans.cxml,设置目标网站和存储方式:
复制代码代码如下:
# This Properties map is specified in the Java 'property list' text format
# <a href="http://java.sun.com/javase/6/docs/api/java/util/Properties.html#load%28java.io.Reader%29">http://java.sun.com/javase/6/docs/api/java/util/Properties.html#load%28java.io.Reader%29</a></p><p>metadata.operatorContactUrl=http://localhost
metadata.jobName=sohu
metadata.description=sohujingxuan</p><p>##..more?..##
</value>
</property>
</bean></p><p> <!-- overrides from declared <prop> elements, more easily allowing
multiline values or even declared beans -->
<bean id="longerOverrides" class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
<property name="properties">
<props>
<prop key="seeds.textSource.value"></p><p># URLS HERE
<a href="http://t.sohu.com/jingxuan">http://t.sohu.com/jingxuan</a></p><p> </prop>
</props>
</property>
</bean></p><p> <!-- CRAWL METADATA: including identification of crawler/operator -->
<bean id="metadata" class="org.archive.modules.CrawlMetadata" autowire="byName">
<property name="operatorContactUrl" value="<a href="http://localhost"/">http://localhost"/</a>>
<property name="jobName" value="sohu"/>
<property name="description" value="sohujingxuan"/>
<!-- <property name="operator" value=""/> -->
<!-- <property name="operatorFrom" value=""/> -->
<!-- <property name="organization" value=""/> -->
<!-- <property name="audience" value=""/> -->
<!-- <property name="userAgentTemplate"
value="Mozilla/5.0 (compatible; <a href="mailto:heritrix/@VERSION">heritrix/@VERSION</a>@ <a href="mailto:+@OPERATOR_CONTACT_URL@)"/">+@OPERATOR_CONTACT_URL@)"/</a>> -->
</bean>
四、停用Robots检查
改造函数,禁用Robots协议检查,目的就不说了,改造方法如下:
复制代码代码如下:
private boolean considerRobotsPreconditions(CrawlURI curi) {
// treat /robots.txt fetches specially
//++zhangzl:取消robots.txt的强制限制
return false;
//--</p><p> }
五、后续工作
1.定向下载改造:只下载目标内容,过滤无关信息。
2.自动解析改造:下载内容自动解析到指定目录,指定格式。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Heritrix是一个由Java开发的开源Web爬虫系统,用来获取完整的、精确的站点内容的深度复制,具有强大的可扩展性,运行开发者任意选择或扩展各个组件,实现特
[目录]扯淡吹逼之开发前奏Django开发环境搭建及配置Bootstrap前端页面开发Djangoapp开发Django站点管理Python简易爬虫开发Ngin
(2)配置开发主机 配置开发主机包含在开发主机上安装linux系统,配置交叉连接工具,如串口和网络接口。 (3)建立引导装载程序bootloa
tips:在win10中查找SQLServer2016配置管理器,用来开启SQLServer网络配置,启用实例TCP/IP协议和NamePiPe。Windows
网络爬虫的分类。网络爬虫按照实现的技术主要分为通用网络爬虫(generalpurposewebcrawler)和主题网络爬虫(topicalcrawler)。在