Jsoup - 无法获得所需的输出,需要帮助

时间:2016-10-11 17:34:53

标签: xpath web-scraping jsoup

我是JSOUP的新手。尝试了一些练习,遇到了一个我无法从下面的网址中获取产品链接的情况。

原始网址 - https://www.amazon.co.jp/gp/new-releases/digital-text/2275256051/ref=zg_bsnr_2275256051_pg_1?ie=UTF8&pg=1

粘贴所选节点以供参考

<div class="zg_title">
<a href="https://www.amazon.co.jp/%E5%83%95%E3%81%8C%E6%9C%AC%E5%BD%93%E3%81%AB%E5%A5%BD%E3%81%8D%E3%81%AA%E5%92%8C%E9%A3%9F-%E7%AC%A0%E5%8E%9F-%E5%B0%86%E5%BC%98-ebook/dp/B01LYCVBW3/ref=zg_bsnr_2275256051_1 ">僕が本当に好きな和食</a>
</div>

我的代码

Elements ele = doc.select("div.zg_title > a ");     
for (org.jsoup.nodes.Element element : ele) 
{
System.out.println(element.toString()); 
}

必需的输出

https://www.amazon.co.jp/%E5%83%95%E3%81%8C%E6%9C%AC%E5%BD%93%E3%81%AB%E5%A5%BD%E3%81%8D%E3%81%AA%E5%92%8C%E9%A3%9F-%E7%AC%A0%E5%8E%9F-%E5%B0%86%E5%BC%98-ebook/dp/B01LYCVBW3/ref=zg_bsnr_2275256051_1

我使用xpath获得正确的输出 - "//div[@class='zg_title']//a/@href" 如何用Jsoup做到这一点。

1 个答案:

答案 0 :(得分:1)

这是:

Elements ele = doc.select("div.zg_title > a");
for (org.jsoup.nodes.Element element : ele) {
  System.out.println(element.absUrl("href"));
}

要检查的事项:

  • CSS查询(查询中有额外的空格);
  • 如果您想要检索href属性,则应使用element.absUrl("href")方法。