- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
采集解析 -jsoup
北京信息职业技术学院 | 郑淑晖 伊新
简介
2
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
jsoup的主要功能如下:
1. 从一个URL,文件或字符串中解析HTML;
2. 使用DOM或CSS选择器来查找、取出数据;
3. 可操作HTML元素、属性、文本;
jsoup是基于MIT协议发布的,可放心使用于商业项目。
官网为 /
3
主要功能1
jsoup 可以从包括字符串、URL地址以及本地文件来加载HTML 文档,并生成Document 对象实例。
一、 // 直接从字符串中输入HTML 文档
String html = htmlheadtitle开源中国社区/title/head
+bodyp这里是jsoup 项目的相关文章/p/body/html;
Document doc = Jsoup.parse(html);
System.out.println(doc.text());
4
主要功能1
二、// 从 URL 直接加载 HTML 文档
Document doc = Jsoup.connect().get();
String title = doc.title();
System.out.println(title);
三、// 从文件中加载 HTML 文档
File input = new File(D:/11.html);
Document doc = Jsoup.parse(input, gbk);
System.out.println(doc.text());
主要功能2
5
使用DOM或CSS选择器来查找、取出数据
File input = new File(D:\test.html);
Document doc = Jsoup.parse(input,UTF-8,/);
Elements links = doc.select(a[href]); // 具有 href 属性的链接
Elements pngs = doc.select(img[src$=.png]);// 所有引用 png 图片的元素
Element masthead = doc.select(div.masthead).first(); // 找出定义了 class=masthead 的元素
Elements resultLinks = doc.select(“h3.r a”); // 找出 h3之后的a
Jsoup 使用跟 jQuery 一模一样的选择器对元素进行检索,以上的检索方法如果换成是其他的 HTML 解释器,至少都需要很多行代码,而 jsoup 只需要一行代码即可完成。
主要功能3
6
修改数据
在解析文档的同时,我们可能会需要对文档中的某些元素进行修改,例如我们可以为文档中的所有图片增加可点击链接、修改链接地址或者是修改文本等。
doc.select(ments a).attr(rel, nofollow); // 为所有链接增加 rel=nofollow 属性
doc.select(ments a).addClass(mylinkclass); // 为所有链接增加 class=mylinkclass 属性
doc.select(img).removeAttr(onclick); // 删除所有图片的 onclick 属性
doc.select(input[type=text]).val(); // 清空所有文本输入框中的文本
jsoup 的过人之处——选择器
7
前面我们已经简单的介绍了 jsoup 是如何使用选择器来对元素进行检索的。本节我们把重点放在选择器本身强大的语法上。下表是 jsoup 选择器的所有语法详细列表。
java样例
8
public static void main(String[] args) throws IOException {
String url=/weather/101010400.shtml;
long start = System.currentTimeMillis();
Document doc = null;
try {
doc = Jsoup.connect(url).get();
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println(Time is:+ (System
文档评论(0)