2015-06-23 3 views
0

Я пытаюсь перейти на страницу в Википедии в каждом городе США. Поскольку я не знаю фактического URL-адреса, я выполняю поиск и загружаю первый результат. URL подписи, чтобы сделать это:Как загрузить страницу википедии в Java

http://en.wikipedia.org/wiki/Special:Search?go=Go&search=New+York%2C+NY

Однако, он не получает ничего взамен, вот мой код:

String curWikiURL = "http://en.wikipedia.org/wiki/Special:Search?go=Go&search="+URLEncoder.encode("New York, NY", "UTF-8");; 
Scanner scanner = null; 
URLConnection connection = null; 
connection = new URL(curWikiURL).openConnection(); 
scanner = new Scanner(connection.getInputStream()); 
scanner.useDelimiter("\\Z"); 
content = scanner.next(); 
Document doc = Jsoup.parse(content); 
+0

Это противоречит правилам Википедии для использования такие роботы-роботы. Скорее всего, вы скорее будете заблокированы. Если это не робот. – h22

+0

Я просто пытаюсь прочитать его один раз, чтобы собрать некоторые данные, чтобы сделать исследование, поэтому нет никакого сканирования в Интернете. Это больше похоже на автоматизацию задачи, которую в противном случае я должен был бы сделать вручную. – Bill

+0

Вам понадобится информация в HTML или использование JSON API может быть вариантом? –

ответ

1

Вы не должны делать все соединения и вещи JSoup библиотека может обрабатывать все these.Check ниже

String url = "https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=jsonfm "; 
    org.jsoup.nodes.Document document = (org.jsoup.nodes.Document) Jsoup 
      .connect(url).followRedirects(false).timeout(60000).get(); 
    org.jsoup.select.Elements elements = ((org.jsoup.nodes.Document) document) 
      .body().children(); 
for (Element element : elements) { 
    System.out.println(element); 
} 
0

Используйте его, как показано ниже:

https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=jsonfm 

Так вы используете API MediaWiki.

Проверить здесь для получения более подробной информации - https://www.mediawiki.org/wiki/API:Main_page

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