舒適提示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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。