Jsoup链接提取

时间:2012-03-21 15:00:20

标签: java jsp jsoup

大家好我想尝试从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"));
}

3 个答案:

答案 0 :(得分:1)

根据the comments on your previous question

  

即使在我指定协议后...只有google和aol不能正常工作,同样正在使用yahoo,bing和ask ....我的项目是实现元搜索引擎....我是能够从雅虎,bing和问...提取链接...但同样不适用于谷歌和AOL ......可能是什么原因.. ??

他们阻止了您的请求,因为您扮演的机器人/ leecher可能违反了他们的服务条款。他们经常要求他们的网站,他们不希望不必要地浪费他们的带宽给机器人/ leechers,实际上只需要一小部分响应。

使用他们的公共Web服务API,而不是解析整个网站的HTML。对谷歌而言,例如“Google Custom Search API”。其他搜索引擎提供商提供类似的Web服务。请注意,这些Web服务不会返回臃肿的HTML,而是使用JSON / XML解析器更容易解析/提取的紧凑JSON或XML数据。

答案 1 :(得分:0)

您需要指明协议:

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

答案 2 :(得分: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();