Доброго дня, уважаемые гуру разработки
пытаюсь вытащить из
en.wiktionary.org список нужных слов с использованием движка Jaunt (
http://jaunt-api.com)
написал первую версию приложения, которое пробегает часть страниц, но потом падаем с ошибкой
основной алгоритм прост до банальности: захожу на стартовую страницу, вытаскиваю из нее ссылку на следующую страницу, перехожу на следую страницу и так далее.
Не знаю почему, но получаемый линк становится каждый раз все длиннее, и видимо на определенном шаге становятся настолько длинными, что перестают обрабатываться. хотя при ручном проходе по страницам линки имеют нормальную длину.
возможно ли предотвратить разбухание линков?
примеры ссылок которые получается вытащить
next page:en.wiktionary.org/w/index.php?title=Category:Engli...
next page:en.wiktionary.org/w/index.php?title=Category:Engli...
next page:en.wiktionary.org/w/index.php?title=Category:Engli...
сам код при этом имеет вид
import com.jaunt.*;
public class Wiksurfer {
public static void surfPages() {
int i = 0;
UserAgent userAgent = new UserAgent();
userAgent.settings.autoSaveAsHTML = true; //change settings to autosave last visited page.
//System.out.println("SETTINGS:\n" + userAgent.settings);
try {
String href = "http://en.wiktionary.org/wiki/Category:English_uncountable_nouns";
for (i = 0; i < 20; i++) {
userAgent.visit(href);
href = userAgent.doc.findFirst("<a title>next page").getAt("href");
System.out.println("next page:" + href);
}
} catch (JauntException e) {
System.err.println(e);
} finally {
System.out.println("final i" + i);
}
}
public static void main(String[] args) {
surfPages();
}
}