簡體   English   中英

Jsoup鏈接提取

[英]Jsoup links extraction

您好,我正在嘗試從aol提取所有錨鏈接,但是它不起作用。 相同的代碼與yahoo bing一起使用。 問題是什么問題

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

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

根據您對上一個問題的評論

即使在即時通訊指定協議之后...僅google和aol無法正常工作,也正在與yahoo,bing和ask一起使用。...我的項目是實現元搜索引擎....我能夠從yahoo提取鏈接,bing和ask ...但是google和aol不能正常使用...這可能是原因。

他們阻止了您的請求,因為您扮演的機器人/竊賊可能違反了他們的服務條款。 他們的網站經常被要求訪問,他們不想不必要地將帶寬浪費在實際上只需要響應的一小部分的機器人/抓取者身上。

使用其公共Web服務API而不是解析整個網站的HTML。 對於Google,例如“ Google自定義搜索API ”。 其他搜索引擎提供商也提供類似的Web服務。 請注意,這些Web服務不會返回腫的HTML,而是緊湊的JSON或XML數據,使用JSON / XML解析器更容易解析/提取。

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

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();

您需要指出協議:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM