0
Document doc = Jsoup.connect("http://www.utah.edu/").get();
Elements lists = doc.select("ul");
for (Element list: lists) {
Elements li = list.select("li a");
if (li.size() > 0) {
ArrayList<String> anchors = new ArrayList<String>();
for (Element e : li) {
anchors.add(e.text());
}
System.out.println(anchors);
}
}
我想抓住從this page由ul
標籤呈現所有HTML列表。但它失敗了。我懷疑頁面中有腳本阻止我的程序這樣做。任何JavaScript阻止我的程序抓取此頁
編輯:爲了使我的問題就更簡單了,考慮下面的代碼:
Document doc = Jsoup.connect("http://www.utah.edu/").get();
Elements lists = doc.select("ul");
System.out.println(lists.size());
輸出:
0
*但失敗*究竟發生什麼事呢?是否有錯誤訊息?我不認爲頁面可以使用任何腳本來阻止您解析它。但是,如果您的HTTP請求中未包含用戶代理,則有時Web服務器將阻止您下載頁面。 – McGarnagle
@dbaseman程序成功運行,但沒有輸出發送到控制檯。現在我確定我的程序沒有提取任何列表。 –
@TerryLi jsoup不會執行JavaScript。 – xiaoyi