`
沙漠绿树
  • 浏览: 429533 次
  • 性别: 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  
有正在研究这个方向,谢谢分享。

相关推荐

    WebPage.h和WebPage.cpp

    总之,"WebPage.h"和"WebPage.cpp"是C++中处理网页和地图功能的核心代码,它们负责与百度地图API的交互。在实际开发中,需要理解并掌握HTTP通信、数据解析、GUI编程等相关技术,以便正确地使用和扩展这些文件。

    HTML_Webpage网页特效

    本资源包“HTML_Webpage_special-effects_online-wse”聚焦于HTML特效的实现,帮助开发者创建出富有交互性和视觉冲击力的网页。 HTML(超文本标记语言)是网页开发的基础,它定义了网页的结构和内容。而HTML特效则...

    WebPage.rar

    例如,"WebPage.cpp"可能包含了处理用户请求,获取或更新网页数据的函数。 在实际的Web开发中,为了提高开发效率和可维护性,开发者通常会使用框架。例如,C++的Web开发框架有Poco、CppServer、Wt等。这些框架提供...

    webPage

    这里的"webPage"可能是指一个完整的网页项目,或者是对网页设计与开发过程的讨论。 【描述】虽然描述部分是空的,但提供了博主的个人页面链接(https://tianjun309.iteye.com/blog/800685)。通过这个链接,我们...

    MFC调用JS的WebPage类

    这个类可能包含了一系列的方法和属性,使得MFC程序可以方便地调用JavaScript函数,或者获取网页中的数据。例如,WebPage类可能有一个`ExecuteJavaScript`方法,允许开发者传递一段JS代码并执行;还可能有一个`...

    Chrome截图插件:FireShot、FireShot-API(截图功能对外暴露的api)

    【chrome插件】chrome截图插件FireShot,版本:0.98.97.2_0,包含API的使用的代码示例,此插件的作用为在chrome浏览器(或chromium内核的浏览器)中使用浏览器截图功能,有可见部分截屏、整个页面截屏和捕获选定区域...

    Webpage-storage-device.rar_网页下载_网页保存

    这个名为"Webpage-storage-device.rar"的压缩包提供了一个实例,教你如何编程实现类似浏览器的网页保存功能。以下将详细解析这一过程的关键知识点。 首先,我们要理解浏览器如何保存网页。浏览器在保存网页时,通常...

    Java Webpage

    Java Webpage是一个与Java编程相关的主题,主要集中在利用Java技术构建和开发网页应用程序。在Java领域,Webpage通常指的是使用Java Servlets、JSP(JavaServer Pages)以及相关的Java Web框架,如Spring MVC或...

    C#网页采集+蜘蛛核心类源码

    - WebPage.zip:这是一个可能包含了网页采集和爬虫核心类源码的压缩文件。解压后,用户可以找到实际的C#源代码,包括但不限于类定义、方法实现、配置文件等,通过这些代码可以学习和理解如何在C#环境中实现网络爬虫...

    Api-webpage-micropub-to-github.zip

    Api-webpage-micropub-to-github.zip,通过向github micropub提交到github而发布到jekyll的自托管micropub端点,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。...

    webBrower控件实现winform和webpage交互

    综上所述,WebBrowser控件为WinForms与WebPage之间的交互提供了强大的支持,通过掌握DOM操作和JavaScript脚本,开发者可以实现诸如自动填充WebForm、抓取网页数据等多种高级功能。然而,需要注意的是,这种交互可能...

    Camera webpage_欧美扁平化网页PSD模板美工UI.zip

    【标题】"Camera webpage_欧美扁平化网页PSD模板美工UI.zip" 提供的是一款专注于相机或摄影主题的欧美风格扁平化网页设计模板,适用于PSD格式的美工用户界面设计。这款模板是网页设计师进行网页布局、色彩搭配、元素...

    Webpage-Screenshot_v14.5.1.crx

    【标题】"Webpage-Screenshot_v14.5.1.crx" 描述了一个网页截图插件的更新版本,这是浏览器扩展程序的一种,主要用于方便用户快速捕获、保存和分享网页的屏幕快照。该插件的版本号为14.5.1,通常意味着它已经经过了...

    Java-webpage:Java网页

    在"Java-webpage"项目中,Java14可能被用来构建RESTful API,与前端网页进行数据交换,提供动态内容。 此外,"Java-webpage-main"可能是一个包含整个项目源代码的主目录,其中可能包含了HTML文件、CSS样式表、...

    get_word_from_webpage.rar_delphi 网页_单词

    综上所述,"get_word_from_webpage.rar_delphi 网页_单词" 这个程序涵盖了 Delphi 开发、网络通信、网页解析、字符串处理、数据存储等多个IT领域的知识点,是学习和研究 Delphi 应用开发的好案例。

    webpage-and-bot:这是我的网页

    HTML5的引入更是提供了更多新的标签和API,使得网页开发更为便捷和强大。 对于网页机器人部分,我们可能需要了解HTTP协议,因为网络爬虫是通过发送HTTP请求来获取网页内容的。GET和POST是两种主要的HTTP方法,GET...

    API.rar_between

    在这个Java API示例中,它作为桥梁,使得Web服务器能够处理来自网页的请求并返回相应的数据。 描述中提到"Java API Examples",这意味着我们将探讨的是Java编程语言中的API应用。Java API是Java标准库的一部分,...

    My-Webpage.zip_html网页 大学_课表 html

    在本项目中,我们主要关注的是"My-Webpage.zip"这个压缩包,它包含了与创建一个简单的个人网页相关的HTML文件。这个网页设计主要是为了一位大学生展示个人信息,特别是课表和简介,同时提供了链接指向其所在大学的...

    css html webpage master

    JavaScript则为网页添加交互性和动态功能,而Twitter则是社交媒体平台,它的存在使得网页设计要考虑如何与社交媒体进行有效集成。接下来,我们将深入探讨这些知识点。 首先,HTML是构建网页的基础,它定义了网页的...

Global site tag (gtag.js) - Google Analytics