`
沙漠绿树
  • 浏览: 425728 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

WebPage网页数据采集API

阅读更多

    从2008年开始做网页数据采集,开始用使用别人编写的API 如HTML Parser、NekoHTML、Jericho HTML Parser(用于解析html网页),HtmlUtil(纯java版浏览器,具有Http协议和Html解析功能,JS执行功能)等,配合 HttpClient(提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,是HTTP协议有关的包,与我介绍的API中的HtmlPage类 类似)。因为那些API采集大量多种格式的网页数据时,在配置上很不灵活,例如采用DOM解析,Xpath等,导致配置复杂,所以从09年3月份开始编写自己的获取和分析网页的API:webpage。并且服务在公司的项目中。通过预先配置,经过对1万多个数据源和多种网页数据呈现格式的采集测试与改正,在2010年9月份形成一个较为稳定的版本。

修改历史:
    本工具与2012-09-17发现一个bug且已修正。于今天从新打包提交一个版本,之前源码和jar包版本将删除。

1、源码包结构说明:基于com.hlxp.webpage包下开始说明:
(1)com.hlxp.webpage.app 与采集应用有关且可以独立运行的工具类,主要还是配合采集。
(2)com.hlxp.webpage.bean 采集中使用的无状态的一些VO(值对象)
(3)com.hlxp.webpage.log 包中是日志类,主要是包装了jdk自带的日志对象;和log4j的日志类。
(4)com.hlxp.webpage.util包中含一些具体的采集工具,它们使用了HtmlPage和HtmlUtil类完成特定的采集,如只采集链接,或者只采集img的链接。
(5)HtmlPage类是一个基础类,主要是通过get和post方式获取网页,也支持提交参数。
(6)HtmlUtil类是一个基础类,主要是解析通过HtmlPage获取的网页,支持正则表达式解析,支持字符切割,支持HTML标记解析。
注:
    源码中没有例子程序,例子在各解析类的main函数中。以后有空将会编写API帮助文档和例子程序,这些都将发布在本篇博客中的附件中。
    有疑问的朋友可以在本博客留言,我会和大家一起讨论。

2.API功能介绍
(1)能够或普通网页和无需验证码的登录网页(需要登录的网页,要人工登录,然后复制cookie到程序中,即可获取)
(2)能够解析HTML,XML,DTD等静态文本显示数据的网页。   
(3)能够方便采集翻页网页,通过设定分页链接格式,自动的生成或采集分页链接和其网页。
(4)HtmlPage.java用于获取网页,HtmlUtil.java用于解析网页的基础类。两个类的main方法中有举例。

3
1
分享到:
评论
1 楼 laoke73 2011-03-01  
有正在研究这个方向,谢谢分享。

相关推荐

Global site tag (gtag.js) - Google Analytics