[Java]Jsoup--好用的抓取網頁工具(HTML & XML)
最近寫實驗室的這兩個月,一直需要會用到爬網頁(parser)的技術自己也上網找資料找了許久,慢慢研究Jsoup才研究出一些端倪
以下即將介紹的,昰我在寫爬網頁的時候比較經常使用到的一些方法
<好站連結>
附上三個我最常用的網站連結
想要更深入的研究"Jsoup"可以參考
1. Jsoup官網
2. 好用的HTML parser--jsoup
3. 使用jsoup對HTML文檔的解析和操作
<安裝環境>
1.首先先進入Jsoup的官網
下載我們需要的 jar檔
2.接著將jar檔 link進來到我們的程式中(安裝環境 : eclipse)
我們的程式名字昰"TestUrl_TeachVersion",點選.java檔 |
點選Project 選 Properties |
看著步驟點選 |
找到自己jar檔放置的位置 |
成功將jar檔加入 |
原始碼連結-->Test Source Code
以實做Google Directions API為例
詳細請參考我之前寫的淺談Google Directions API
1. 程式架構如下
public class test { public static void getpoint(String urlStr){ Document doc = null; try { doc = Jsoup.connect(urlStr).get(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } public static void main(String[] args){ } public static void link(float start_lat,float start_lng,float end_lat,float end_lng) { getpoint() } }
在main裡面會先呼叫link()這個含數
link()含數會在呼叫getpoint()含數
getpoint的參數 urlStr這裡我們是以這個網址當作範例
http://maps.googleapis.com/maps/api/directions/xml?origin=24.79608,120.98709&destination=24.80237,120.97206&sensor=false&units=metric&mode=driving
這邊我們會使用Document類別,宣告物件doc
doc = Jsoup.connect(urlStr).get(); 這裡就會將網頁的資訊內容接住
2. 細看getpoint
Elements newsHeadlines1 = doc.select("start_location"); System.out.println(newsHeadlines1.size()); // know the tag size System.out.println(newsHeadlines1.get(0)); System.out.println(newsHeadlines1.get(0).text()); // get the text System.out.println(newsHeadlines1.get(0).tagName()); // print tag name System.out.println(newsHeadlines1.get(0).empty()); // empty the text
再使用Elements類別,宣告物件來選擇我們有興趣的tag
上面程式碼昰附上我比較常用的幾個
執行結果如下 :
有想要知道更多方法,在從我最一開始附上的三個連結研究
如果我有新使用到的方法,覺得好用,也會再分想補充。
0 意見:
張貼留言