jsoup抓取网页教程

jsoup抓取网页教程

ID:19576727

大小:37.50 KB

页数:12页

时间:2018-10-03

jsoup抓取网页教程_第1页
jsoup抓取网页教程_第2页
jsoup抓取网页教程_第3页
jsoup抓取网页教程_第4页
jsoup抓取网页教程_第5页
资源描述:

《jsoup抓取网页教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、jsoup抓取网页教程jsoup抓取网页+详细讲解jsoup抓取网页+详细讲解Java程序在解析HTML文档时,相信大家都接触过htmlparser这个开源项目,我曾经在IBMDW上发表过两篇关于htmlparser的文章,分别是:从HTML中攫取你所需的信息和扩展HTMLParser对自定义标签的处理能力。但现在我已经不再使用htmlparser了,原因是htmlparser很少更新,但最重要的是有了jsoup。jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过D

2、OM,CSS以及类似于jQuery的操作方法来取出和操作数据。jsoup的主要功能如下:1.从一个URL,文件或字符串中解析HTML;2.使用DOM或CSS选择器来查找、取出数据;3.可操作HTML元素、属性、文本;jsoup是基于MIT协议发布的,可放心使用于商业项目。jsoup的主要类层次结构如图1所示:图1.jsoup的类层次结构图1.jsoup的类层次结构接下来我们专门针对几种常见的应用场景举例说明jsoup是如何优雅的进行HTML文档处理的。-------------------------------------------

3、-------------------------------------回页首文档输入jsoup可以从包括字符串、URL地址以及本地文件来加载HTML文档,并生成Document对象实例。下面是相关代码:清单1//直接从字符串中输入HTML文档Stringhtml="开源中国社区"+"

这里是jsoup项目的相关文章

";Documentdoc=Jsoup.parse(html);//从URL直接加载HTML文档Doc

4、umentdoc=Jsoup.connect("http://www.oschina.net/").get();Stringtitle=doc.title();Documentdoc=Jsoup.connect("http://www.oschina.net/").data("query","Java")//请求参数.userAgent("I’mjsoup")//设置User-Agent.cookie("auth","token")//设置cookie.timeout(3000)//设置连接超时时间.post();//使用POST方法访

5、问URL//从文件中加载HTML文档Fileinput=newFile("D:/test.html");Documentdoc=Jsoup.parse(input,"UTF-8","http://www.oschina.net/");请大家注意最后一种HTML文档输入方式中的parse的第三个参数,为什么需要在这里指定一个网址呢(虽然可以不指定,如第一种方法)?因为HTML文档中会有很多例如链接、图片以及所引用的外部脚本、css文件等,而第三个名为baseURL的参数的意思就是当HTML文档使用相对路径方式引用外部文件时,jsoup会自

6、动为这些URL加上一个前缀,也就是这个baseURL。例如开源软件会被转换成开源软件。--------------------------------------------------------------------------------回页首解析并提取HTML元素这部分涉及一个HTML解析器最基本的功能,但jsoup使用一种有别于其他开源项目的方式——选择器,我们将在最后一部分详细介绍jsoup选择器,本

7、节中你将看到jsoup是如何用最简单的代码实现。不过jsoup也提供了传统的DOM方式的元素解析,看看下面的代码:清单2.Fileinput=newFile("D:/test.html");Documentdoc=Jsoup.parse(input,"UTF-8","http://www.oschina.net/");Elementcontent=doc.getElementById("content");Elementslinks=content.getElementsByTag("a");for(Elementlink:links)

8、{StringlinkHref=link.attr("href");StringlinkText=link.text();}你可能会觉得jsoup的方法似曾相识,没错,像getElementById和get

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。