`
zdsdiablo
  • 浏览: 65347 次
  • 性别: 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版本的内容检查不算完整,只能匹配部分发布时间,对于部分网页将作者,来源,发布时间混合在一起的情况,未能很好...

    XPath教程

    XPath的使用教程!个人感觉不错

    新手注入器3.5版本

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

    XPath入门 - XSL教程 - 3

    XPath入门 - XSL教程 - 3

    Python零基础30天速通(小白定制版)(完结)

    宣导片:开启Python进阶之路 30动漫番剧播放量影响因素分析1综合案例 29小红书卖货实力与用户分析1综合案例 28星巴克门店探索|Matplotlib实战 27詹姆斯哈登的制胜宝典1 Panads的使用 26一晚5万的酒店| Numpy的使用 25揭开数据分析的面纱1数据分析"三剑客"概述 24虎牙直播数据告诉你谁最火1案例篇 23我的音乐我做主1数据保存之csv和excel 22电竟| BeautifulSoup解析HTML 21对李焕英的评价1HTML基础 20我的美食我做主1爬虫介绍、requests请 19看我四十二变1内容提取和格式转换 18我的版权我做主1PDF就是这么帅 17婚礼策划师离不开你|亲爱的PPT 16运营部的烦恼1战胜Excel 15Up主的创作之路1 Python与word初次 14你的offer之选|邮件发送 13我的存在只为悦你1 Pillow图片处理 12你喜欢的电竟赛事大全1 Python的文件操作 11哈利波特的魔法棒|模块 10龙珠之赛亚人1面向对象基础 09大吉大利今晚吃鸡1特种兵的战场(项目案

    20240519基本完整

    20240519基本完整

    MATLAB仿真项目-大数据源码-疲劳检测识别,可应用于疲劳驾驶监测,专注度检测等(高分期末大作业).rar

    本项目提供了一个基于MATLAB的疲劳检测识别仿真系统,旨在帮助计算机相关专业的在校学生、老师和企业员工更好地学习和实践大数据与人工智能技术。该项目可应用于疲劳驾驶监测、专注度检测等领域,具有较高的实用价值。 项目源码已经过运行测试,确保OK,可作为课程设计、毕业设计的优质资源。此外,我们还为您提供了一些网络相关资源,以便您在学习过程中进行参考。这些资源将帮助您更好地理解项目的原理和应用。 本项目的源码适用于初学者,即使是编程基础较弱的同学也能快速上手。同时,源码结构清晰,易于理解和修改。您可以在这个基础上进行二次开发,实现更多有趣的功能。 请放心下载使用,我们为您提供了详细的文档说明,以便您更好地了解和使用该项目。希望这个项目能为您提供实质性的帮助,祝您在学习和工作中取得更好的成绩!

    利用协同过滤算法,基于用户历史订单数据,对店铺的用户和商品进行推荐.zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

    用C#实现人工智能中的八数码问题,有界面效果,可以得出结果,也可以逐步求解.zip

    用C#实现人工智能中的八数码问题,有界面效果,可以得出结果,也可以逐步求解.zip

    Matlab 太阳能电池 simulink 模型太阳能电池模型连接到巴克 converter.by

    Matlab 太阳能电池 simulink 模型太阳能电池模型连接到巴克 converter.by 不同占空比和 PS 转炉值,我们可以改变输出 voltage.buck 转换器调节来自太阳能电池的电压,因而顺利和调节直流电压在负载的忧伤。通过将许多细胞我们可以使太阳能机舱和增加输出电压电流 (串联或并联).zip

    npy 文件的基本结构和内容

    npy 文件的基本结构和内容

    Learning Python 5th Edition

    Learning Python 5th Edition

    Learning Docker

    Learning Docker

    SwiftUI-加载动画 圆点循环缩放动画

    SwiftUI-加载动画 圆点循环缩放动画

    一种用于非线性模型预测控制的并行优化工具包(NMPC)

    介绍了一种专为非线性模型预测控制(NMPC)设计的并行优化工具包。内容涉及该工具包的功能特点、使用方法以及在解决非线性控制问题中的应用实例。通过对比分析,突出了并行优化在提高NMPC计算效率和实时性方面的重要作用。适合控制工程师、算法研究员和对高性能计算感兴趣的专业人士。使用场景包括复杂系统控制、实时仿真和工业自动化。目标是推广这一工具包的使用,助力非线性控制系统的研究与开发。 关键词标签: 非线性模型预测控制 NMPC 并行优化 工具包 实时控制

    matlab矩阵位移法实现有限元求解.zip

    matlab矩阵位移法实现有限元求解.zip

    Matlab 交互式多模型目标跟踪IMM.zip

    Matlab 交互式多模型目标跟踪IMM.zip

    520节日李珣的爱心代码

    内容概要:本项目是李珣创作的“爱心代码”,旨在通过编程表达浪漫与情感。该项目使用JavaScript编写,生成一个动态的爱心图案,并可以附加个性化的文字祝福。代码逻辑简单清晰,适合在网页上展示和分享。源码提供了完整的代码文件,部署文档详细介绍了代码的使用方法和展示步骤,讲解内容涵盖了代码的实现原理、技术选型理由、设计思路以及使用方法。 适合人群:对JavaScript有基础了解,并希望通过编程表达情感的开发者和编程爱好者。 能学到什么: 1. 掌握JavaScript绘图和动画的实现方法。 2. 学习如何通过代码生成动态图案。 3. 了解简单的前端开发和部署流程。 4. 掌握个性化定制代码的技巧。 阅读建议:本资源旨在帮助学习者通过实践项目掌握JavaScript的绘图和动画实现方法,并了解如何通过编程表达情感。建议在学习过程中结合部署文档进行实践,并深入理解讲解内容中的技术原理和设计思路。同时,鼓励学习者根据实际需求对代码进行拓展和优化,以提升自己的技术水平和创造力。

    python源码毕业设计基于深度学习的水果识别系统源码+文档说明+数据集+模型(期末大作业项目).rar

    本源码提供了一个基于深度学习的水果识别系统,涵盖了Python编程、深度学习、图像识别等多个领域的技术。项目利用神经网络模型对水果图像进行分类,实现了高效的水果识别功能。适合计算机专业的学生、老师和从业人员学习和参考,尤其是对深度学习图像识别感兴趣的朋友。 核心功能包括: 1. 数据集:包含大量水果图片,用于训练和测试模型。 2. 模型训练:采用卷积神经网络(CNN)进行训练,提升模型精度。 3. 图像识别:加载预训练模型,对新图像预测类别。 4. 测试验证:确保模型准确性和实用性。 代码可用于毕业设计、课程设计等,快速构建原型,基于此优化和扩展。 资源丰富,包含详细文档,讲解代码结构和算法;提供数据集和预训练模型,方便测试;代码清晰易懂,结构完整,便于理解深度学习图像识别。 请放心下载,这是经过测试的高质量资源,助你取得课程设计高分!

    Java项目毕业设计-航空订票系统(前台订票+后台票务管理)基于SSM开发+数据库(详细源码)-期末大作业.rar

    本项目为Java项目毕业设计-航空订票系统,基于SSM框架开发,结合前台订票与后台票务管理功能,满足现代航空票务需求。系统采用三层架构,包括表现层、业务逻辑层和数据访问层,确保高效稳定运行。数据库设计考虑数据完整性和安全性,采用MySQL数据库存储关键数据。 经过运行测试,系统性能良好,满足设计要求。界面简洁直观,用户友好;后台管理功能强大,方便管理员管理。系统安全性高,有效防止SQL注入、跨站脚本等攻击。 本资源适合计算机相关专业学生和从业者下载学习。对初学者,可快速掌握SSM框架和航空订票系统开发流程;对有一定基础者,可作为参考,拓宽思路,提升技能。此外,也适用于毕业设计、课程设计、项目立项等场景,展现项目基本框架和功能。 请放心下载使用,相信能助您顺利完成学习和项目任务。期待在您的努力下,系统不断完善,功能更加丰富,为航空事业发展贡献力量。

Global site tag (gtag.js) - Google Analytics