任务:重写一些定制扩展类来实现“网易手机频道”网页的抓取任务。

(转载请注明出处)

准备

环境:eclipse Mars.2 Release (4.5.2)

抓取工具:Heritrix1.14.4

前提条件:已经在eclipse中搭建好了Heritrix环境

Tomcat PluginV 插件的安装:

PS:安装TomcatPlugin真是太坑了,一定要注意版本的问题,目前最新版本为3.3.1(好像很长时间都没有更新了),本人亲测可以在eclipse4.5上面成功安装,之前由于用3.2 和3.3试了很多次都不成功,一度怀疑自己的智商,Hehe。详细匹配关系见官网:

Tomcat PluginV 插件官网: http://www.eclipsetotale.com/tomcatPlugin.html

安装步骤:

注:本人安装的是3.3.1版本,3.2与3.3的解压之后是一大堆东西,而3.3.1解压之后只有一个 Jar包,请注意。

1.下载插件,并解压

2.解压之后是一个Jar包,直接将其放在eclipse的plugins目录下,重新启动就可以看到下图了:

3.配置

安装完毕。

———————————————————————————————————————————

开始任务:

代码编写:

1.设计网页抓取的Extractor类

新建包:my.extractor

在该包中新建类文件:Mobile163Extractor,代码见文末

2.设计网页抓取的Frontier类扩展。

新建包:my.postprocessor

在该包中新建类文件:FrontierSchedulerFor163Mobile,代码见文末

3.文件配置:

在processor中添加所编写的扩展类的信息:

my.extractor.Mobile163Extractor|Mobile163Extractor

my.postprocessor.FrontierSchedulerFor163Mobile|FrontierSchedulerFor163Mobile

如下图所示:

4 .配置ClassPath

(该步骤非常关键,如果不做的话,将会导致在设置处理器链时没有Add/Change按钮及相应的下拉菜单),过程如下:

右键Heritrix->Run As->Run configuratins…..->classpath->user Entries->Advanced->Add External Folder,找到modules的上一级目录conf将其加入即可。

配置完成后最好重新启动。

注:关于该步骤的原理分析,想要学习的话参照下面网址,几乎所有所有的帖子博客都在讲步骤,这个却是我见过分析并解决问题的,推荐大家看一下,这样会有更深入的理解,(虽然版面乱的一塌糊涂):http://www.tc5u.com/java/1938960.htm

开始抓取任务流程:

0.环境测试:

1.设置种子Seeds:

即你要抓取的网页URL,越精准越好。

2.设置处理链

以下两个处理链需更改,其余的默认即可。

3.属性设置:

以下属性更改,其余的默认即可。

改为:

5.Start运行

6.运行状态分析

抓取结果分析:

可以看到设置的种子成功抓取:

方框中的6个文件记录了本次抓取结果中的相关数据:

(对应的目录是jobs下的任务)

下面对着6个文件做一下简单分析:

(1)Crack order:

主要记录的是本次抓取任务的相关设置

(2)Crack Report

抓取任务状态描述,以及抓取到的数据归类分析

(3)Crawl.log

Tip:如何将抓取到的网页的各种镜像设定存储到磁盘上?

方法:在设置处理器链的时候,有一个Writer,将其设定为:

org.rachive.craweler.prefetch.Preselector,这样一来将会用镜像Mirror的方式来存储抓取结果,抓取任务结束后,可以看到好多“分类文件包”。

(PS:之前没有注意到这个问题)

下一节将会对Heritrix的架构,原理做以简单的分析、介绍

heritrix java_基于Java的Heritrix爬取网页相关推荐

  1. 大众点评 爬虫 java_用JAVA制作一个爬取商品信息的爬虫(爬取大众点评)

    很多企业要求利用爬虫去爬取商品信息,一般的开发模型如下: for i=1;i<=最大页号;i++ 列表页面url=商品列表页面url+?page=i(页号) 列表页面=爬取(列表页面url) 商 ...

  2. 【Java爬虫】爬取网页中的内容,提取其中文字

    挺乱的,临时存一下 package cn.hanquan.craw;import java.io.FileWriter; import java.io.IOException; import java ...

  3. java爬虫-简单爬取网页图片

    刚刚接触到"爬虫"这个词的时候是在大一,那时候什么都不明白,但知道了百度.谷歌他们的搜索引擎就是个爬虫. 现在大二.再次燃起对爬虫的热爱,查阅资料,知道常用java.python语 ...

  4. java实现专门爬取网页图片的软件

    发现我的不足: 1.对awt和swing的使用十分的差劲,时不时就要查一下博客... 可以做一个专门爬取网页图片的软件,功能已经实现了,就UI对应的设计一下就好了. 做完了..虽然有很大的局限,但是功 ...

  5. 爬虫基础练习: 基于 java + Jsoup + xpath 爬取51job网站

    最基本的网页爬虫练习 爬取51jb网站,并将数据写入Excel中 需要导入jsoup包和POI相关包 JSoup简介 jsoup是一款Java的HTML解析器,主要用来对HTML解析, 可通过DOM, ...

  6. 基于java使用jsoup爬取网站投票数据的demo

    想爬取一个投票网站的实时数据 获取姓名和票数 查看网站源码(这里只展示一部分) <table border="0" cellpadding="0" cel ...

  7. HTTP编程(Java爬虫-简单爬取网页数据)

    HTTP协议简介 HTTP 是 HyperText Transfer Protocol 的缩写,翻译为超文本传输协议,它是基于 TCP 协议之上的一种请求-响应协议. HTTP请求格式是固定的,由HT ...

  8. python java 爬数据_如何用java爬虫爬取网页上的数据

    当我们使用浏览器处理网页的时候,有时候是不需要浏览的,例如使用PhantomJS适用于无头浏览器,进行爬取网页数据操作.最近在进行java爬虫学习的小伙伴们有没有想过如何爬取js生成的网络页面吗?别急 ...

  9. Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索

    Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...

最新文章

  1. 用于ONNX的TensorRT后端
  2. oracle共享时监听,Oracle监听---共享连接参数配置介绍
  3. 百万级PHP网站架构工具箱
  4. 成功解决PermissionError(权限拒绝解决答案集锦): [Errno 13] Permission denied: ‘f:\\program files\\python\\python36\
  5. 我妈妈的优点:做事情特别细致
  6. 前端防xss攻击(去掉空格等能影响和攻击数据库的字段)
  7. C++11 新特性 —— 关键字noexcept
  8. iPhoneXI/XI MAX机模曝光:浴霸式摄像头着实抢眼
  9. Eclipse中Mybatis的自动提示的配置
  10. 用栈实现计算器c语言报告,利用栈实现c语言计算器
  11. active控件和java脚本_Active控件问题小结(附解决办法)
  12. 鄙视那些把爬虫当作AI的SB,清华学霸尹成大哥的历史上最强大的爬虫视频
  13. 【搜狗输入法安装包文件有异常,错误码:2,现在终止安装】解决办法
  14. protoc 编译工具
  15. bilibili怎么用用户名登录_b站账号(bilibili免费账号密码)
  16. 如何使用谷歌“以图找图”图片搜索功能
  17. 我爱赚钱吧:你知道自己建网站可以赚钱吗?①
  18. neo4j java 模糊搜索,Neo4j 使用cypher语言进行查询
  19. 微信开发(三)微信模板消息接口设计
  20. 短线王的盯盘宝怎么样_短线王炒股十大技巧!

热门文章

  1. Mapxtreme之活活气死
  2. 清屏函数 mysql_c++清屏函数是什么
  3. 定制化开发小程序与模板开发小程序的区别?
  4. 图片噪声 降噪 边缘检测
  5. 九天鸟p2p网贷系统的架构设计
  6. 批量提取视频帧率及分辨率
  7. 毕业设计-基于微信小程序的点餐系统
  8. vb 窗体画面打不开
  9. Python语言参考手册
  10. html实现颜料效果,JS基于HTML5的canvas标签实现炫目的色相球动画效果实例