使用jsoup从另一个div类中提取div类

时间:2011-10-18 05:57:58

标签: java html-parsing jsoup

我试图从另一个div类中的div类中提取一个href。我尝试使用的代码片段的一个示例是:

<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> 

我试图从这个例子中提取出一个固有的类productTitle但是使用代码:

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类或内部id中提取的语法。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您正尝试使用getElementById()按ID选择元素。这是错的。那些div没有ID。相反,他们有一个类名。您应该使用select()方法。

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

请注意,类名选择器不一定返回单个元素。文档中可以有多个。我假设您需要第一个和Element,所以我添加了first()调用示例。