2012-03-21 3 views
0

привет, ребята, я пытаюсь извлечь все якорные ссылки из aol, но он не работает. Этот же код работает с yahoo 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:

даже после того, как им указания протокола ... только google и aol не работают, то же самое работает с yahoo, bing и ask .... мой проект заключается в реализации метапоиска. Я могу извлечь ссылки из yahoo, bing и ask ..., но это же не работать с google и aol ... что может быть причиной .. ??

Они заблокировали ваш запрос, так как вы действуете как робот/ликер, который может нарушить их условия обслуживания. Их веб-сайты очень часто запрашиваются, и они не хотят излишне тратить свою пропускную способность на роботов/ликеров, которые на самом деле нуждаются лишь в небольшой части ответа.

Используйте свои API общедоступных веб-сервисов вместо разбора HTML всего веб-сайта. Для Google это, например, «Google Custom Search API». Другие поисковые системы предлагают аналогичные веб-службы. Обратите внимание, что эти веб-службы не возвращают раздутый HTML, а компактные JSON или XML-данные, которые намного проще разбирать/извлекать с использованием парсеров JSON/XML.

0

Вы должны указать протокол:

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

он работает, когда она дается с нормальной связью, но он не работает с этой ссылкой: http://search.aol.com/aol/search?q=hello –

+0

даже с указанием протокола также... –

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

 Смежные вопросы

  • Нет связанных вопросов^_^