`
zdsdiablo
  • 浏览: 65840 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Grabage,Java开源采集工具

阅读更多

 

Grabage

                                                                      ----Java开源采集工具

 

 

JavaEye首发,这边流量高一些



关键词

开源,源码,open source,java,htmlunit,采集


发布网址

http://code.google.com/p/grabage/


发布版本

  1. grabage_0.1_nk
    • 提供最基础的采集功能,有经验的开发人员可以将其嵌入到系统模块中用于采集数据。
    • nk版本的内容检查不算完整,只能匹配部分发布时间,对于部分网页将作者,来源,发布时间混合在一起的情况,未能很好的解决。
    • 该问题会在将来的版本中处理,不会再更新nk版本。源码中未包含图片等资源采集。
  2. grabage_0.2_rl
    • 该版本不可直接发布,发布端配置需使用前自行修改
    • 提供采集和发布功能,接收端支持et采集工具的插件,如采取其他方式,需修改源码。制作了部分网站采集的例子,注意not()的用法。
    • 配置采集页面需要一些xpath的知识,如果有xml的基础或者比较熟悉jquery选择器应该会很容易上手,教程网上有很多。
    • 原计划推出tp线程池版本加快速度,经测试后发现多线程无法提升htmlunit的访问速度,因此暂时放弃该版本。
    • 配置文件中顶部的htmlunit配置暂时无用,可忽略。在测试时发现有些动态的页面需要启用js才可以获取到内容,用全局配置会有问题。所以暂时忽略此项,可自行修改源码以适应采集。

开发说明

近来研究网站建设的时候发现采集工具这么个东西,用来帮助站长抓取数据,使广大站长摆脱繁琐的复制粘贴。看到一些国产CMS自带采集工具,颇为实用。

想起来造轮子单独写一个采集程序有几个原因:

一,在服务器自动运行的采集工具会消耗服务器的资源,一些免费的站用起来难免战战兢兢,准备随时被K。

二,一些号称免费的工具会打Logo在内容里,要去掉需要付费。

三,正则匹配的网页有一些先天的缺陷,也就是内容不成对,当出现嵌套的div时会让抓取配置变得异常艰难

鉴于此,决定用Java写一个开源的工具,方便同学们采集。本程序可客户端运行,采集后的数据暂未处理,代码开源,所以不用担心程序搜集登录信息,有编程经验者可自行修改。

源码供个人站长及劳苦大众研究使用,但禁止将其已任何形式用于商业活动。

详细使用权限请参阅《GNU General Public License v3》http://www.gnu.org/licenses/gpl.html


再一次强调的是:采集有风险,小心被K站。



简易使用手册

首先在http://code.google.com/p/grabage/downloads/list 中下载指定的源码版本,如grabage_0.2_rl_src.zip

需要使用的组件可在该路径下下载,有经验的开发人员可自行至其主站上下载最新版本,下面是文件需要的组件列表:

  • xalan-2.7.1.jar   htmlunit   Jun 21  3.0 MB  0  
  • xml-apis-1.3.04.jar htmlunit Jun 21 189 KB 0 
  • xercesImpl-2.9.1.jar htmlunit Jun 21 1.2 MB 0 
  • serializer-2.7.1.jar htmlunit Jun 21 271 KB 0 
  • sac-1.3.jar htmlunit Jun 21 15.4 KB 0 
  • nekohtml-1.9.14.jar htmlunit Jun 21 121 KB 0 
  • htmlunit-core-js-2.7.jar htmlunit Jun 21 889 KB 0 
  • htmlunit-2.7.jar htmlunit Jun 21 878 KB 0 
  • cssparser-0.9.5.jar htmlunit Jun 21 247 KB 0 
  • commons-logging-1.1.1.jar htmlunit Jun 21 59.3 KB 0 
  • commons-lang-2.4.jar htmlunit Jun 21 255 KB 0 
  • commons-io-1.4.jar htmlunit Jun 21 106 KB 0 
  • commons-httpclient-3.1.jar htmlunit Jun 21 297 KB 0 
  • commons-collections-3.2.1.jar htmlunit Jun 21 561 KB 0 
  • commons-codec-1.4.jar htmlunit Jun 21 56.8 KB 0 
  • dom4j-2.0.0-ALPHA-2.jar dom4j Jun 21 332 KB 0 



下载后 用ide(如eclipse)引入源码,将源码中resource的路径指定到编译路径下,修改配置文件grabage-config.xml,编译运行ReadCenter,如暂不测试发布功能,可在程序中注释掉相关方法。

 


使用技巧

  1. read包内有提供部分测试用例,发布纯文字文章,可以修改用例远端发布。
  2. 路径采用xpath语法,在firefox中有一个叫xpath checker的组件,可以很方便的搜索当前页面的xpath。安装后在页面中点击鼠标右键即可看到。
  3. 如分页的层包含在内容的层里,采集时会一并采集到文章内容中,此时用not()可以有效的去除该层,还不至于影响到下页的选取
  4. 有关et采集工具,请自行搜索该网站相关内容

 

 

0
0
分享到:
评论

相关推荐

    网页采集工具grabage

    grabage_0.1_nk 提供最基础的采集功能,有经验的开发人员可以将其嵌入到系统模块中用于采集数据。 nk版本的内容检查不算完整,只能匹配部分发布时间,对于部分网页将作者,来源,发布时间混合在一起的情况,未能很好...

    新手注入器3.5版本

    1. 数据采集工具:新手注入器3.5版本和grabage_0.1_nk是用于数据采集的工具,适用于初学者和有经验的开发人员。 2. 工具限制:grabage_0.1_nk在内容检查和匹配方面存在不足,需要用户具备编程能力进行定制和扩展。 3...

    XPath教程

    ### XPath教程知识点详解 #### 一、XPath简介与基本语法 XPath是一种在XML文档中...以上是XPath中的一些基本选择方法, 这些选择器可以帮助开发者灵活地定位和提取XML文档中的数据, 是处理XML文档时非常重要的工具。

    XPath入门 - XSL教程 - 3

    3. **支持XSLT和XPointer**:XPath作为XSLT和XPointer的基础,被广泛应用于这些工具中以增强它们的功能。 #### 三、XPath的数据类型 XPath支持以下几种类型: 1. **节点集**:表示一组节点,通常用于返回多个匹配...

    基于ResNet50的垃圾分类

    通过提供的六类Grabage数据集,采用通过ImageNet预训练的ResNet50残差网络模型,并利用迁移学习的思想替换全连接层,实现垃圾分类算法。 内附源代码、实验报告分析以及可视化结果。

Global site tag (gtag.js) - Google Analytics