需要使用爬虫这个东西,所以我研究了一下子这个东西。
WebHarvest是个挺强大的爬虫,主要不是在Java代码那块使用,而是需要写脚本。
现在对WebHarvest这个配置的语法也不是很熟,只是写写使用经验。
外话:虽然我很烦写脚本,不过用着用着,我也觉得脚本的好处,发现脚本粘合性用在项目中也是很不错的。
可以到www.webharvest.org网上下载jar包。
其中还有一个方便调试的脚步本的工具:
下载这个文件,可以双击,也可以使用java -jar 命令打开。
软件如下:
也可以使用代码执行脚本:
//输入配置文件名
String scriptFile = "c:/mumu/tmp/webharvest/test2.xml";
//输入内容的存放文件夹路径
String outDirectory = "c:/mumu/tmp/webharvest";
ScraperConfiguration config = new ScraperConfiguration(scriptFile);
Scraper scraper = new Scraper(config, outDirectory);
scraper.setDebug(true);
long startTime = System.currentTimeMillis();
scraper.execute();
System.out.println("time elapsed: " + (System.currentTimeMillis() - startTime));
现在开始编写配置文件:
<?xml version="1.0" encoding="utf-8"?>
<config charset="utf-8">
<var-def name="start">
<html-to-xml>
<http url="http://www.tianya.cn/bbs/index.shtml" charset="utf-8" />
</html-to-xml>
</var-def>
<var-def name="ulList">
<xpath expression="//div[@class='bankuai_list']">
<var name="start" />
</xpath>
</var-def>
<file action="write" path="tianya/siteboards.xml" charset="utf-8">
<![CDATA[ <site> ]]>
<loop item="item" index="i">
<list><var name="ulList"/></list>
<body>
<xquery>
<xq-param name="item">
<var name="item"/>
</xq-param>
<xq-expression><![CDATA[
declare variable $item as node() external;
<board boardname="{normalize-space(data($item//h3/text()))}" boardurl="">
{
for $row in $item//li return
<board boardname="{normalize-space(data($row//a/text()))}" boardurl="{normalize-space(data($row/a/@href))}" />
}
</board>
]]></xq-expression>
</xquery>
</body>
</loop>
<![CDATA[ </site> ]]>
</file>
</config>
输出结果我就不打印出来了,这个脚本例子是网上的。
先简单地说一个这个配置文件的写法
<var-def name="a">abc</var-def>
这里定义了一个a 变量标签的内容就是a的值。
现在a的值就是abc。
然而如果我现在需要爬baidu的页面,就需要先将http://www.baidu.com这个页面给下载下来先。
可以使用标签
<http url="www.baidu.com" charset="utf-8" />
这个标签将代码返回下载下来所有的页面代码,此时需要有一个变量去存起来,可以使用
<var-def name="baiduall">
<http url="www.baidu.com" charset="utf-8" />
</var-def>
需要抓内容的必须将html转成xml,这样可以方便以DOM 的方式去定位信息内容。
现在可以使<html to xml标签.
<var-def name="baiduall">
<http url="www.baidu.com" charset="utf-8" />
</var-def>
<var-def name="baiduxml">
<html-to-xml>
<var name="baiduall" />
</html-to-xml>
</var-def>
上边的代码先使用<var标签去引用这baiduall变量。再使用<html-to-xml>标签处理
然后用baiduxml变量存放转成xml后的内容。
这里只是为了演示这个功能,其实可以简化成如下代码:
<var-def name="baiduxml">
<html-to-xml>
<http url="www.baidu.com" charset="utf-8" />
</html-to-xml>
</var-def>
这代码与上边代码意义相同。
先在这里介绍最简单的用法,时间关系,我会日后与大家分享更多的功能方式讨论。
以后再讨论:
包括使用XPath定位与用js处理代码,<file标签输出到文件中,或是将数据在转到java对象中。

- 大小: 3.2 KB

- 大小: 131.5 KB
分享到:
相关推荐
5. **log4j-1.2.13.jar**:这是一个广泛使用的日志记录框架,webharvest可能使用它来记录程序运行时的事件和错误信息,便于调试和监控。 6. **webharvest_1.jar**:这是webharvest的主要应用jar文件,包含了程序的...
webharvest_all_2.jar
以下是一个人工智能相关资源在实践工作中的使用案例: ### 案例:京东方工业互联网中的AI应用 - **资源**:京东方利用人工智能技术结合工业互联网平台,实现了生产过程的智能化管理和优化。
为什么你的AI助手总是答非所问? 「写篇产品分析」→ 收到一堆不知所云的文字 「做个竞品对比」→ 得到几页没有重点的废话 揭秘:不是AI不够聪明,而是你的指令太“高冷”! 一、新手进阶:5大法则,让AI瞬间Get你的点 法则:人话指令——行动+领域+输出格式 错误示范:“分析数据” → AI给你一堆看不懂的术语 正确打开方式:“用小白都能听懂的话,解析2023年销售数据,找出三大问题,给出改进建议,并做成图表” 秘诀:把AI当成你的助手,明确任务、受众和呈现方式,它就能精准回应!
内容概要:本文档为东南大学操作系统原理课程的详细讲义。主要内容涵盖了操作系统的发展历史、主要概念和结构、具体应用案例、计算机系统组织结构以及具体的处理器、内存、缓存、中断及输入输出模块的工作机制等基础知识。还介绍了如eCos、Linux等操作系统在高性能计算领域的实际应用场景,特别是针对嵌入式系统配置的需求,如eCos用于AMS-02项目。通过展示GUI和X Windows系统的例子解释了操作系统是如何协调各种任务并提高系统效率。同时,也探讨了内存管理、进程管理、死锁、I/O管理等方面的内容。最后给出了该课程的具体教学大纲和教学要求。 适用人群:对于正在学习或从事操作系统相关领域的高校学生或者研究学者而言,这份讲义能够帮助理解和掌握操作系统的运作原理和关键技术。 使用场景及目标:该讲义适用于课堂教学,帮助学员理解操作系统的构成要素及工作机制,了解各类操作系统的演化路径,并应用于实际项目的开发和技术优化过程中,从而培养学生对计算机软硬件协同工作的认知能力和工程素养。 其他说明:讲义还包括了几位操作系统领域先驱人物的简介(Ken Thompson & Dennis Ritchie、Stev
DeepSeek爆火,25年AI行业如何发展?.pdf
基于STM32的'水位检测自动控制系统':集成超声波模块与DS18B20传感器的多功能应用.pdf
鸿蒙(HarmonyOS)- 装饰器
加载mp4 xxxxxxxxxxxxxxxxxxx
一、项目介绍 404.系统包含两种角色:用户、管理员,系统分为前台和后台两大模块,主要功能如下: 用户信息管理 用户信息管理页面为管理员提供了以下功能: - 查询管理用户信息 - 删除用户信息 - 修改用户信息 - 新增用户信息 - 对用户名称进行模糊查询 商品分类管理 商品分类管理页面为管理员提供了以下功能: - 查看已发布的商品分类数据 - 修改商品分类 - 作废商品分类(即删除商品分类) 申请信息管理 申请信息管理页面为管理员提供了以下功能: - 查看用户的申请信息 - 作废申请信息(即删除申请信息) 订单信息管理 订单信息管理页面为管理员提供了以下功能: - 查看用户的订单信息 - 作废订单信息(即删除订单信息)
内容概要:本文档详细介绍了基于MATLAB实现TCN-Transformer+BiLSTM多变量时间序列预测的方法及其项目实例。项目旨在提高时间序列预测精度、解决传统方法局限性,提升多变量数据处理能力和实时处理能力,增强智能决策系统发展。核心技术包括TCN(捕捉长时依赖性)、Transformer(捕捉全局依赖性)、BiLSTM(捕捉双向依赖性)。该模型经过多层次特征提取与优化、在线学习与实时预测,具有良好的应用前景。 适用人群:具备MATLAB编程基础和技术背景的研发人员,熟悉机器学习和时间序列预测的科学家与工程师。 使用场景及目标:适用于金融市场预测、交通流量预测、能源需求预测、供应链管理、医疗健康数据分析、气象预测和工业生产预测等多领域。主要目标包括提高预测精度、提升实时处理能力、增强多变量数据处理能力和模型的自适应学习。 其他说明:文中提供了详细的项目背景介绍、模型架构、实施细节和部署方案,强调了模型的优化策略(如自动化超参数调优和GPU/TPU加速推理)及应用领域的拓展可能性(如引入多模态数据融合和强化学习技术)。此外,项目还包括精美的图形用户界面(GUI)设计与可视化工具,支持用户自定义配置模型参数,并实现便捷的数据文件选择和结果导出功能。
415高校宣讲会管理系统,系统包含三种角色:管理员、企业、学生,系统分为前台和后台两大模块,主要功能如下。 前台功能模块: - 首页:展示系统的概览信息、推荐宣讲会等内容。 - 论坛:用户可以在论坛中进行交流、分享经验等。 - 企业:展示注册的企业信息,供用户浏览。 - 公告信息:查看系统发布的公告信息。 - 宣讲会:浏览宣讲会的详细信息,包括时间、地点等。 - 个人中心:用户管理个人信息,包括查看报名宣讲会、修改个人信息等操作。 后台管理模块(企业): - 个人中心:管理企业的个人信息,包括修改密码等操作。 - 宣讲会管理:发布和管理企业的宣讲会信息,包括添加宣讲会、编辑宣讲会、取消宣讲会等操作。 - 宣讲会报名管理:管理学生对宣讲会的报名情况,包括查看报名学生列表、确认报名等操作。 - 论坛管理:管理企业在论坛的发帖情况,包括查看帖子列表、回复帖子等操作。 - 公告信息管理:发布和管理企业的公告信息。 后台管理模块(管理员): - 个人中心:管理管理员的个人信息,包括修改密码等操作。 - 管理员管理:管理系统的管理员账号,包括添加管理员、编辑管理员、删除管理员等操作。
该资源为numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl,欢迎下载使用哦!
内容概要:本文详细介绍了QNX Neutrino实时操作系统(RTOS),这是一种基于微内核架构设计的高度可靠性和实时性能的系统。QNX的微内核架构将应用程序、网络和文件系统隔离开来运行,使得当一个组件发生故障时不会影响整个系统的稳定,支持立即重启并限制对外围组件的影响最小化。为了提升实时可用性和高可用性,它实现了自我监测机制、自适应分区等功能,确保重要任务按时执行。此外,操作系统提供了全面的信息安全特性、强大的多处理能力、多种网络通信接口、图形化用户界面技术支持以及详细的文档和技术支撑。它适用于汽车、医疗器械、工业自动化、运输和重型机械等多个行业领域的关键任务环境。 适用人群:主要针对有较高安全性和实时性的需求的行业从业者,尤其是汽车制造和工业控制领域的产品经理和技术开发者。 使用场景及目标:帮助用户理解如何利用QNX Neutrino构建高效稳定的关键嵌入式系统,包括了解其技术架构、安全防护方法,优化系统性能等; 其他说明:文章还包括关于BlackBerry QNX提供的服务介绍,如功能安全性认证和支持迁移至新系统的帮助。
DeepSeek内部研讨系列:DeepSeek与AIGC应用.pdf
1、文件说明: Centos8操作系统urdfdom-headers-devel-1.0.5-1.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf urdfdom-headers-devel-1.0.5-1.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
该资源为numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl,欢迎下载使用哦!
内容概要:该文档详细介绍了基于Matlab的鲸鱼优化算法(WOA)与支持向量回归(SVR)结合的方法及其项目实现。WOA通过仿鲸鱼的捕食行为,优化SVR模型的参数选择,有效克服传统SVR存在的不足,特别擅长处理高维和非线性回归问题。项目的目标包括优化SVR的预测精度、提升计算效率、增强模型的鲁棒性、为各类应用提供优质回归工具、促进智能化优化算法的应用,并推广WOA。项目应对的主要挑战涵盖高维数据处理、参数优化、计算资源利用、噪音剔除等,皆由WOA的特性予以克服。该研究为诸如金融、气象等领域提供了新的预测视角,强调数据预处理、算法融合的重要性,并详细探讨了模型的具体实施、结果可视化、以及系统的部署运维等层面。 适用人群:适合从事机器学习、金融分析、工程技术等领域的研究人员及从业者,特别是希望借助先进算法优化数据分析过程的人士。 使用场景及目标:可用于多输入单输出回归预测任务,旨在显著改善预测准确性和稳定性,具体应用场景区别于但不限于金融市场的趋势估计、气候条件预测、工程监测与维护、能源消耗预估和环保措施的效果预测等。 其他说明:文中还包含了完整的代码示例和详细的注释指导,辅助开发者更深入地理解和应用WOA-SVR优化算法,从而在实际问题解决中取得成效。
1、文件说明: Centos8操作系统uw-imap-utils-2007f-24.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf uw-imap-utils-2007f-24.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
北京大学 - DeepSeek内部研讨系列:DeepSeek原理和落地应用.pdf