2012-03-21 112 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();