2012-03-21 161 views
0

hello guys我試圖從aol中提取所有錨鏈接,但它不工作。相同的代碼正在與雅虎bing合作。問題是,會是什麼問題Jsoup鏈接提取

Document document5 = Jsoup.connect("www.aol.com").get(); 
Elements links5 = document5.select("a"); 

for (Element link5 : links5) { 
    out.println(link5.attr("href")); 
} 

回答

1

the comments on your previous question

即使IM指定協議...只有谷歌和AOL不工作,同樣與雅虎工作,BING和問....我的項目是實施元搜索引擎....我能夠從雅虎提取鏈接,BING和問...但同樣不工作谷歌和AOL ...可能是什麼原因.. ??

他們已經阻止了您的請求,因爲您充當可能違反其服務條款的機器人/ leecher。他們的網站經常被要求,他們不希望不必要地浪費帶寬給機器人/ leechers,這實際上只需要一小部分響應。

使用其公共Web服務API而不是解析整個網站的HTML。對於Google來說,例如「Google Custom Search API」。其他搜索引擎提供商提供類似的Web服務。請注意,這些Web服務不會返回臃腫的HTML,而是緊湊的JSON或XML數據,使用JSON/XML解析器可以更輕鬆地解析/提取。

0

您需要指出的協議:

Document document5 = Jsoup.connect("http://www.aol.com/").get(); 
+0

這是工作,當它被賦予正常的鏈接,但它不是這個環節的工作:http://search.aol.com/aol/search?q=hello – 2012-03-21 15:20:49

+0

甚至指定協議也... – 2012-03-21 15:22:18

0

您的用戶代理可能會丟失。添加一個用戶代理:

String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"; 
Jsoup.connect(link).userAgent(USER_AGENT).get();