Анализ результатов онлайн-словаря с помощью Jsoup - PullRequest
0 голосов
/ 06 ноября 2011

Я пытаюсь разобрать результаты онлайн-словаря с помощью Jsoup, из которых у меня есть базовое понимание. Я разместил HTML, который я пытаюсь разобрать . Я пытаюсь взять строки «бейсбол» и «бейсбол», но мне не хватает чистого способа сделать это.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2017

Вот решение с estivate (который является Java DOM Parser с аннотациями, совместимыми с JSoup)

Document doc = Jsoup.connect("http://myurl.com").get();

EstivateMapper mapper = new EstivateMapper();

Result result = mapper.map(doc, Result.class);

с определением класса Result следующим образом:

public class Result {

    @Text(select = "td[width=140]", index=1)
    public String original;

    @Text(select = "td[align=left]", index=1)
    public String translated;

}
0 голосов
/ 11 ноября 2011

Это немного сложно, поскольку ни одно из слов не имеет уникального идентификатора в исходном коде.

Но я бы сделал это так:

Document doc = Jsoup.connect("http://myurl.com").get();
String original = doc.select("td[width=140]").get(1).toString() //get td element which has width of 140 and get the second one
String translated = doc.select("td[align=left]").get(1).toString()//get td element which has align left and get the second one

Примечание: При доступе к данным путем очистки небольшое изменение в дизайне / исходном коде веб-сайта может затормозить ваше приложение.

...