最近准备写个爬虫程序,今天看了下,貌似有个WebHarvest是开源的,下载了看看,稍微看了下他的代码,感觉他对配置文件的处理挺好的。
在正常情况下,处理配置文件,我们可以用dom4j或者jdom啥的来解决,但是因为WebHarvest中的配置文件会有N种不同的类型,如果按照以前的那种解析方式,就会产生N多的判断条件。
在WebHarvest中,他通过jdk自带的javax.xml.parsers.SAXParser来解析,
SAXParser parser = parserFactory.newSAXParser();
parser.parse(in, handler);
这里的handler就是实现了org.xml.sax.helpers.DefaultHandler,这样将所有的element的信息放入到XMLNode中,再根据这些元素的name来产生他们的definition,当需要处理每个element的时候,process根据definition来产生.
其实这种框架的搭建方式在socket的处理上会经常用到,比如我们以前公司的短信平台,运营商发过来个消息,将消息进行封装,再根据消息的commandID,来产生这个消息definition,最后根据这个definition来决定丢给谁去处理。
明天有时间的话,再看看他对XQuery和每个process是如何处理的。最近太无聊了~~~~~~~~~~~~~~~~~~~~~~~~~~
分享到:
相关推荐
【webharvest1-bin.zip】是一个包含开源Java桌面应用程序的压缩包,主要用于从网络上的论坛和网站抓取自定义内容。这个工具的核心价值在于它的灵活性和可定制性,用户可以根据需求编写XML配置文件来定义要抓取的数据...
1. **下载安装**:获取`webharvest_all_1.jar`文件,这是一个包含所有依赖的打包文件,可以直接运行。 2. **编写配置**:使用文本编辑器创建XML配置文件,定义数据抓取的规则。 3. **执行WebHarvest**:通过命令行...
1. webharvest官方网站参考手册地址: http://web-harvest.sourceforge.net/manual.php 2. 一个介绍XPath、XQuery 以及 XSLT 函数的网址 http://www.w3school.com.cn/xpath/xpath_functions.asp 3. 另一个参考地址 ...
### WebHarvest基础教程知识点详解 #### 一、WebHarvest简介 - **定义与功能**:WebHarvest是一款开源的Web数据抓取工具,基于Java编写,主要用于从Web页面中提取所需的数据。该工具支持多种数据处理技术,如XSLT...
webharvest_API参考文档.CHM webharvest_API参考文档.CHM
在"webharvest2b1-project"这个压缩包文件中,很可能包含了WebHarvest的最新版本,可能包括源码、文档、示例配置文件和必要的库文件。解压后,你可以按照文档的指导安装和运行WebHarvest,开始你的数据抓取之旅。 ...
Webharvest是一款开源的网页抓取和数据提取工具,它允许用户通过配置XML脚本来定义如何从网页中抓取和处理信息。在本案例中,“HTML_500”可能指的是包含了500个HTML页面或者与500相关的某种测试场景。 **HTML(超...
WebHarvest是一个开源的、基于Java的网络爬虫工具,其源码的分析将为我们提供深入理解网络爬虫工作原理的机会。它允许用户通过配置文件定制化爬取过程,适用于各种复杂的网页抓取需求。 首先,`build.xml`是Ant构建...
1. **可扩展性**:Webharvest支持自定义插件,允许用户根据需求扩展其功能,例如添加新的数据提取策略或处理逻辑。 2. **灵活性**:通过XML配置文件,你可以精确控制爬虫的行为,如设置HTTP请求头、处理cookies、...
webharvest_all_2.jar
WebHarvest是一款强大的网页数据抽取和处理工具,它允许用户通过配置文件定义一系列操作来从网页中提取所需信息。WebHarvest的配置文件基于XML结构,包含了一系列预定义和用户自定义的变量与对象,以及多种处理元素...
1. template目录下的三个模板分别是 sina_1. 抓取全网财经要闻-新浪(一条新闻) sina_2. 抓取主流财经网站要闻区-新浪(列表新闻) sina_3. 抓取最新访谈-新浪(图文混合) sina_3_img 保存了图文混合的图片 2. ...
The main goal behind Web-Harvest is to empower the usage of already existing extraction technologies. Its purpose is not to propose a new method, but to provide a way to easily use and combine the ...
1. **HTTP请求**:理解如何配置URL、编码、cookies以及其他HTTP头信息。 2. **XPath和CSS选择器**:这两个是常用的HTML元素选取方式,用于定位你要提取的数据。 3. **数据处理**:包括变量的定义、操作和传递,以及...
web harvest的jar包 提供一个xml编辑环境
Web-Harvest是一种开源的、基于Java的网页数据提取工具,它允许用户通过编写XML配置文件来定义数据抽取规则,从而实现对网页内容的自动化处理和分析。这个压缩包文件包含了一些与Web-Harvest相关的学习资料和源文件...
1. **下载与解压**:从官方网站或者指定链接(如:https://guoyiqi.iteye.com/blog/973965)获取`webharvest_all_2.jar`文件,将其解压到本地目录。 2. **运行**:在命令行中,使用Java运行环境执行`java -jar ...