开发者社区> 胖子哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

网络爬虫之Windows环境Heritrix3.0配置指南

简介:
+关注继续查看

一、引言:

  最近在忙某个商业银行的项目,需要引入外部互联网数据作为参考,作为技术选型阶段的工作,之前已经确定了中文分词工具,下一个话题就是网络爬虫的选择,目标很明确,需要下载一些财经网站的新闻信息,然后进行文本计算。记得上一次碰爬虫还是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
# http://java.sun.com/javase/6/docs/api/java/util/Properties.html#load%28java.io.Reader%29

metadata.operatorContactUrl=http://localhost
metadata.jobName=sohu
metadata.description=sohujingxuan

##..more?..##
   </value>
  </property>
 </bean>

 <!-- 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">

# URLS HERE
http://t.sohu.com/jingxuan

    </prop>
   </props>
  </property>
 </bean>

 <!-- CRAWL METADATA: including identification of crawler/operator -->
 <bean id="metadata" class="org.archive.modules.CrawlMetadata" autowire="byName">
       <property name="operatorContactUrl" value="http://localhost"/>
       <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; heritrix/@VERSION@ +@OPERATOR_CONTACT_URL@)"/> -->
       
 </bean>

四、停用Robots检查

  改造函数,禁用Robots协议检查,目的就不说了,改造方法如下:

    private boolean considerRobotsPreconditions(CrawlURI curi) {
        // treat /robots.txt fetches specially
        //++zhangzl:取消robots.txt的强制限制
        return false;        
        //--

  }

五、后续工作

1.定向下载改造:只下载目标内容,过滤无关信息。

2.自动解析改造:下载内容自动解析到指定目录,指定格式。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL - 安装 & 配置(Windows)(下)
MySQL - 安装 & 配置(Windows)(下)
16 0
zt:用Syslog 记录UNIX和Windows日志的方法
http://www.chinalinuxpub.com/read.php?wid=1720 在比较大规模的网络应用或者对安全有一定要求的应用中,通常需要对系统的日志进行记录分类并审核,默认情况下,每个系统会在本地硬盘上记录自己的日志,这样虽然也能有日志记录,但是有很多缺点:首先是管理不便,当服务器数量比较多的时候,登陆每台服务器去管理分析日志会十分不便,其次是安全问题,一旦有入侵者登陆系统,他可以轻松的删除所有日志,系统安全分析人员不能得到任何入侵信息。
1120 0
Windows平台Hadoop环境安装配置
Windows平台Hadoop环境安装配置
35 0
+关注
胖子哥
数据仓库模型设计专家,主要从事金融,互联网行业广告行业数据架构和数据营销。QQ:1106110976
154
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载