Извлечение класса div из другого класса div с помощью jsoup - PullRequest
0 голосов
/ 18 октября 2011

Я пытаюсь извлечь href из класса div в другом классе div.Вот пример фрагмента кода, который я пытаюсь использовать:

<div class="productData"> 
           <div class="productTitle">
            <a href="https://rads.stackoverflow.com/amzn/click/com/0786866020" rel="nofollow noreferrer"> Fish! A Remarkable Way to Boost Morale and Improve Results</a> 
            <span class="ptBrand">by <a href="/Stephen-C.-Lundin/e/B001H6UE16">Stephen C.     Lundin</a>, <a href="/Harry-Paul/e/B001H9XQJA">Harry Paul</a>, <a href="/John-    Christensen/e/B003VKXJ04">John Christensen</a> and Ken Blanchard</span>
            <span class="binding"> (<span class="format">Hardcover</span> - Mar. 8, 2000)    </span>
           </div> 

Я пытаюсь извлечь из этого примера атрибут класса class intter, используя код:

Document doc = Jsoup.connect(fullST).timeout(10*1000).get();
            Element title = doc.getElementById("div.productTitle");
            System.out.println(title);

.ноль.Пытаясь извлечь более высокие элементы, такие как:

Element title = doc.getElementById("div.productData");

, я также получаю ноль.Я пробовал много кодовых комбинаций, но не могу понять синтаксис для извлечения из внутренних классов div или внутренних идентификаторов.

Любая помощь будет оценена.

1 Ответ

1 голос
/ 20 октября 2011

Вы пытаетесь выбрать элемент по идентификатору, используя getElementById().Это не верно.Эти дивы не имеют удостоверения личности.Вместо этого у них есть имя класса.Вместо этого следует использовать метод select().

Element title = doc.select("div.productTitle").first();

Обратите внимание, что селектор имени класса не обязательно возвращает один элемент.Их может быть несколько в документе.Я предполагаю, что вам нужен первый и единственный Element, поэтому я добавил first() вызов к примеру.

...