使用httpclient和htmlparser网络爬虫.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用 HttpCIient 和 HtmIParser 介绍 HttpCIient 与 HtmIParser 简介 本小结简单的介绍一下 HttpCIinet和HtmIParser两个开源的项目,以及他们 的网站和提供下载的地址。 HttpCIient 简介 HTTP协议是现在的因特网最重要的协议之一。 除了 WEB浏览器之外,WEB 服务,基于网络的应用程序以及日益增长的网络计算不断扩展着 HTTP协议的 角色,使得越来越多的应用程序需要 HTTP协议的支持。虽然JAVA类库.net 包提供了基本功能,来使用 HTTP协议访问网络资源,但是其灵活性和功能远 不能满足很多应用程序的需要。 而Jakarta Commo ns HttpCIie nt 组件寻求提供 更为灵活,更加高效的 HTTP协议支持,简化基于 HTTP协议的应用程序的 创建。HttpCIient提供了很多的特性,支持最新的HTTP标准,可以访问这里 了解更多关于HttpCIinet的详细信息。目前有很多的开源项目都用到了 HttpCIient提供的HTTP功能,登陆网址可以查看这些项目。本文中使用 HttpCIi net提供的类库来访问和下载In ternet上面的网页,在后续部分会详细介 绍到其提供的两种请求网络资源的方法: Get请求和Post请求。Apatche提 供免费的HTTPCIien t源码和JAR包下载,可以登陆这里 下载最新的 HttpCIient 组件。笔者使用的是 HttpCIient3.1 。 HtmIParser 简介 当今的In ternet上面有数亿记的网页,越来越多应用程序将这些网页作为分析 和处理的数据对象。这些网页多为半结构化的文本,有着大量的标签和嵌套的结 构。当我们自己开发一 些处理网页的应用程序时,会想到要开发一个单独的网 页解析器,这一部分的工作必定需要付出相当的精力和时间。 事实上,做为JAVA 应用程序开发者,HtmIParser为其提供了强大而灵活易用的开源类库, 大大节 省了写一个网页解析器的开销。 HtmIParser是 上活跃 的一个开源项目,它提供了线性和嵌套两种方式来解析网页, 主要用于html网 页的转换(Transformation) 以及网页内容的抽取 (Extraction)。HtmIParser有如 下一些易于使用的特性:过滤器 (Filters),访问者模式(Visitors),处理自定义 标签以及易于使用的 JavaBeans。正如HtmIParser首页所说:它是一个快速, 健壮以及严格测试过的组件;以它设计的简洁,程序运行的速度以及处理 In ternet上真实网页的能力吸引着越来越多的开发者。 本文中就是利用 HtmIParser里提取网页里的链接,实现简易爬虫里的关键部分。HtmIParser最 新的版本是HtmlParser1.6,可以登陆这里下载其源码、API参考文档以及JAR 包。 开发环境的搭建 笔者所使用的开发环境是 Eclipse Europa,此开发工具可以在 免费的下载;JDK是1.6,你也可以在 站点下载,并且在 操作系统中配置好环境变量。在 Eclipse中创建一个JAVA工程,在工程的 Build Path 中导入下载的 Com mon s-httpCIie nt3.1 .Jar , htmllexer.jar 以及 htmlparser.jar 文件。 HttpClient基本类库使用 HttpClinet提供了几个类来支持HTTP访问。下面我们通过一些示例代码来熟 悉和说明这些类的功能和使用。 HttpClient提供的HTTP的访问主要是通过 GetMethod 类和 PostMethod 类来实现的,他们分别对应了 HTTP Get请求 与Http Post请求。 GetMethod 使用GetMethod来访问一个URL对应的网页,需要如下一些步骤。 生成一个HttpClinet对象并设置相应的参数。 生成一个GetMethod对象并设置响应的参数。 用HttpClinet生成的对象来执行 GetMethod 生成的 Get方法。 处理响应状态码。 若响应正常,处理 HTTP响应内容。 释放连接。 清单1的代码展示了这些步骤,其中的注释对代码进行了较详细的说明。 清单1. /* 1生成HttpClinet对象并设置参数*/ HttpClie nt httpClie nt=n ew HttpClie nt(); //设置Http连接超时为5秒 httpClie nt.getHttpCo nn ectio nMan ager().getParams().setC onn ectio nTimeout(5 000); /*2生成GetMet

文档评论(0)

yuxiufeng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档