我想以道歉的方式为我的问题做准备 - 这将使这成为一个两部分的问题......双重道歉。 我正在努力与JSoup(再次)第一次道歉反复询问并且还没有充分学习 - 所以有人可以建议一些阅读超出常规搜索的东西,这将有助于我了解如何在每次尝试时解读DOM吗?
如果您仍然倾向于提供帮助,这一次,在我返回的文档中:
<a href="/logitech-logitech-wireless-keyboard-k270-with-long-range-wireless-920-003051/info"><span id="priceProductQA1" class="productPrice">$29.99</span></a>
我想抓住href和价格“29.99”。 我试过了
doc = Jsoup.connect(srchStr).get();
for (Element choices : doc.select("a:has(.productPrice)")){
absHref = choices.attr("abs:href");
String pricetxt = choices.text();
以及其他10种无效的方法。对我来说有什么更好的想法吗?
答案 0 :(得分:0)
这是另一种解决方案:
for( Element element : doc.select("span.productPrice") ) // Select all 'span' tags with a 'productPrice' class and iterate over them
{
final String price = element.text(); // save the price (= text of element)
final String link = element.parent().absUrl("href"); // Get the 'a' tag (= parent of 'span' tag) and its absolute (!) URL
// ...
}
<强>解释强>
span
代码,因为您可以轻松决定是否需要该代码(有一个类,而a
没有)span
标记的父级,因为它包含所需的网址attr("href")
代替顺便说一下。如果你是100%shure,这个网站上只有一个这样的元素,你可以用Element element = doc.select("span.productPrice").first();
替换 for -Loop,然后是另外两行代码。