• 网络爬虫之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,设置目标网站和存储方式:

    复制代码
     1 # This Properties map is specified in the Java 'property list' text format
     2 # http://java.sun.com/javase/6/docs/api/java/util/Properties.html#load%28java.io.Reader%29
     3 
     4 metadata.operatorContactUrl=http://localhost
     5 metadata.jobName=sohu
     6 metadata.description=sohujingxuan
     7 
     8 ##..more?..##
     9    </value>
    10   </property>
    11  </bean>
    12 
    13  <!-- overrides from declared <prop> elements, more easily allowing
    14       multiline values or even declared beans -->
    15  <bean id="longerOverrides" class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
    16   <property name="properties">
    17    <props>
    18     <prop key="seeds.textSource.value">
    19 
    20 # URLS HERE
    21 http://t.sohu.com/jingxuan
    22 
    23     </prop>
    24    </props>
    25   </property>
    26  </bean>
    27 
    28  <!-- CRAWL METADATA: including identification of crawler/operator -->
    29  <bean id="metadata" class="org.archive.modules.CrawlMetadata" autowire="byName">
    30        <property name="operatorContactUrl" value="http://localhost"/>
    31        <property name="jobName" value="sohu"/>
    32        <property name="description" value="sohujingxuan"/>
    33   <!-- <property name="operator" value=""/> -->
    34   <!-- <property name="operatorFrom" value=""/> -->
    35   <!-- <property name="organization" value=""/> -->
    36   <!-- <property name="audience" value=""/> -->
    37   <!-- <property name="userAgentTemplate" 
    38          value="Mozilla/5.0 (compatible; heritrix/@VERSION@ +@OPERATOR_CONTACT_URL@)"/> -->
    39        
    40  </bean>
    复制代码

    四、停用Robots检查

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

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

    }

    五、后续工作

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

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

  • 相关阅读:
    学习C#的一些笔记
    SQL高级应用
    SQL SERVER 视图
    ES5 Study
    面试官技巧
    WebServicexml操作
    用JS和HTML写自己的文本编辑器
    解决Win7 x64 VS2010调试网站出现 vs2010 未能将脚本调试器附加到计算机上的进程。已附加了一个调试器
    Microsoft.Practices.Unity实现代码依赖注入、XML依赖注入和AOP切面编程
    无法对数据库'XXX' 执行删除,因为它正用于复制"的解决方法
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3478658.html
Copyright © 2020-2023  润新知