舒适提示html
本文阅读须要5分钟左右java
1.写在前面的话
python

这是公众号Java模板(跟资源君一块儿学Java)的第一篇推文,资源君建立这个模板也是为了监督本身不断的学习,而且不断的跟你们一块儿分享编程当中的一些好玩的东西。我也但愿经过这个模板,你们一块儿进步!Java和python两个模板大概一周会推出两篇文章左右,由于资源君平时也没有太多的时间,因此请各位见谅了!jquery

jsoup
is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.web
上面是官方给的jsoup官方解释,中文意思是 jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套很是省力的API,可经过DOM,CSS以及相似于jQuery的操做方法来取出和操做数据。编程
总的来讲,就是可以帮咱们解析HTML页面,而且能够抓取html里面的内容。微信
咱们的目标是抓取菜鸟笔记上的信息(文章标题和连接)less
public static void main(String[] args) {
try {
//下面这行代码是链接咱们的目标站点,而且get到他的静态HTML代码
Document document=Jsoup.connect("http://www.runoob.com/w3cnote").get();
//咱们把获取到的document打印一下,看看里面究竟是啥?
System.out.println(document);
} catch (IOException e) {
e.printStackTrace();
}
}
看咱们代码运行后的结果:编辑器
你会发现咱们经过这一句就得到了“菜鸟笔记”这个网站的HTML源码ide
咱们来分析一下这串html源码
发现这两个正是咱们所想要获得的数据,咱们继续抓取
public static void main(String[] args) {
try {
Document document=Jsoup.connect("http://www.runoob.com/w3cnote").get();
//底下一行代码是咱们进一步抓取到具体的HTML模块,div表示<div>标签,
//后面的post-intro表示的是div的class
//因为div.post-intro这个标签有多个(每一个标题有一个),因此咱们先获取到它的全部
Elements elements=document.select("div.post-intro");
//咱们来遍历一下,由于div.post-intro有不少个
for(int i=0;i<elements.size();i++) {
//下面一行咱们获取到文章的标题,能够结合图片来分析
// get(i)是为了获取每一个div里面的<a>标签。后面的text(),就是获取<a></a>中的内容
String title=elements.select("a").get(i).text();
//attr是获取<a href="">里面的属性
String url=elements.select("a").get(i).attr("href");
//分别打印出来
System.out.println(title);
System.out.println("http://www.runoob.com/"+url);
}
} catch (IOException e) {
e.printStackTrace();
}
}
这样咱们就抓取到咱们想要的内容了!

IT资源君-跟资源君一块儿学java!记得关注哦
本文分享自微信公众号 - Python进击者(JAVAandPythonJun)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。