使用範例:
import java.net.URL;
import java.util.Iterator;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupCrawlerUT {
public static void main(String[] args) throws Exception{
//URL 以yahoo股票為測試
URL url = new URL("http://tw.stock.yahoo.com/q/q?s=2002");
/*
* 向網頁伺服發出請求,並將回應分析成document。
* 第一個參數是:請求位置與QueryString。
* 第二個參數是:連線時間(毫秒),在指定時間內若無回應則會丟出IOException
*/
Document doc = Jsoup.parse(url, 3000);
//取回所center下所有的table
Elements tables = doc.select("center>table");
Iterator
//print all table
/*
for(Element table : tables)
{
//get td Iterator
iterator = table.select("td").iterator();
while(iterator.hasNext())
{
System.out.println("data" + ": " + iterator.next().text().trim());
}
}
*/
System.out.println("--------------------------------------------------");
Element table;
//取標頭
table = tables.get(1).select("table").get(0);
iterator = table.select("th").iterator();
while(iterator.hasNext())
{
System.out.println("data" + ": " + iterator.next().text().trim());
}
System.out.println("--------------------------------------------------");
//取內容
//取索引1的table
table = tables.get(1).select("table").get(1);
//get td Iterator
iterator = table.select("td").iterator();
while(iterator.hasNext())
{
System.out.println("data" + ": " + iterator.next().text().trim());
}
}
}
輸出: