我试图从另一个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中提取的语法。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您正尝试使用getElementById()
按ID选择元素。这是错的。那些div没有ID。相反,他们有一个类名。您应该使用select()
方法。
Element title = doc.select("div.productTitle").first();
请注意,类名选择器不一定返回单个元素。文档中可以有多个。我假设您需要第一个和Element
,所以我添加了first()
调用示例。