专栏首页数据饕餮网络爬虫之Windows环境Heritrix3.0配置指南

网络爬虫之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.自动解析改造:下载内容自动解析到指定目录,指定格式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大数据工具篇之Hive与MySQL整合完整教程

     Hive元数据存储可以放到RDBMS数据库中,本文以Hive与MySQL数据库的整合为目标,详细说明Hive与MySQL的整合方法。

    数据饕餮
  • 知识点查缺补漏贴01-进程间通讯之mmap文件共享

      个人名言:“同一条河里淹死两次的人,是傻子,淹死三次及三次以上的人是超人”。经历过上次悲催的面试,决定沉下心来,好好的补充一下基础知识点。本文是这一系列第一...

    数据饕餮
  • 基于Hadoop的云盘系统客户端技术难点之三 小文件存储优化

    首先明确概念,这里的小文件是指小于HDFS系统Block大小的文件(默认64M),如果使用HDFS存储大量的小文件,将会是一场灾难,这取决于HDFS的实现机制和...

    数据饕餮
  • SSM项目集成mybatis-plus

    2.替换 spring.xml  配置文件中的 sqlSessionFactory

    似水的流年
  • Hadoop历史服务器配置详细步骤

    Hadoop JobHistory Server 默认情况下是没有启动的,而且需要自己配置和启动该服务。 在步骤开始之前,建议先把 hdfs 和 yarn 停...

    bboy枫亭
  • Mybatis深入了解(六)----关联查询(高级映射)

    resultType:使用resultType实现非常简单,如果POJO中没有包括查询的列名,可以新建扩展类继承父类,并在子类中添加列名对应的属性,即可完成映...

    令仔很忙
  • IDEA 下新建 Hibernate 项目

    bgZyy
  • Hadoop分布式集群搭建

    Hadoop分布式集群和前面的伪分布式安装方法类似,Hadoop用户创建,ssh配置,java环境安装,Hadoop安装等过程查看前一篇:Hadoop的安装和使...

    foochane
  • 【SSH框架】系列之 Spring 整合 Hibernate

    微信公众号:compassblog 欢迎关注、转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1、SSH 三大框架整合原理 ? Spring 与 St...

    compassblog
  • 分布式事务处理

    秋日芒草

扫码关注云+社区

领取腾讯云代金券