Как мне разобрать этот HTML с Jsoup - PullRequest
5 голосов
/ 19 марта 2012

Я пытаюсь извлечь «Знай свой трактор» и «Шелл Петролеум Компани.1955»?Имейте в виду, что это всего лишь фрагмент всего кода и существует более одного тега H2 / H3.И я хотел бы получить данные из всех тегов H2 и H3.

Вот HTML: http://i.stack.imgur.com/Pif3B.png

Код, который у меня сейчас есть:

    ArrayList<String> arrayList  = new ArrayList<String>();
    Document doc = null;
 try{

     doc = Jsoup.connect("http://primo.abdn.ac.uk:1701/primo_library/libweb/action/search.do?dscnt=0&scp.scps=scope%3A%28ALL%29&frbg=&tab=default_tab&dstmp=1332103973502&srt=rank&ct=search&mode=Basic&dum=true&indx=1&tb=t&vl(freeText0)=tractor&fn=search&vid=ABN_VU1").get();
     Elements heading = doc.select("h2.EXLResultTitle span"); 

     for (Element src : heading) {
            String j = src.text();
            System.out.println(j);  //check whats going into the array 
            arrayList.add(j);
     }

Как мне извлечь "Знай свой трактор" и "Шелл Петролеум Компани"0,1955" ?Спасибо за вашу помощь!

1 Ответ

3 голосов
/ 19 марта 2012

Ваш селектор выбирает только <span> элементы, которые находятся внутри <h2 class="EXLResultTitle">, в то время как вам на самом деле нужны эти элементы <h2>.Итак, просто удалите span из селектора:

Elements headings = doc.select("h2.EXLResultTitle");

for (Element heading : headings) {
    System.out.println(heading.text());
}

Вы сможете самостоятельно выбрать селектор для <h3 class="EXLResultAuthor"> на основе извлеченного урока.

См. Также:

...