【问题标题】:Web Crawler Amazon get span-Element网络爬虫亚马逊获取跨度元素
【发布时间】:2017-03-11 00:23:01
【问题描述】:

我正在抓取亚马逊类别,并获得了 salesrank 和产品 URL。现在我想爬取类别,并从类别跨度中获取所有信息。

<span class="zg_hrsr_ladder">in&nbsp;<a href="https://www.amazon.de/gp/bestsellers/books/ref=pd_zg_hrsr_b_1_1">B&uuml;cher</a> &gt; <a href="https://www.amazon.de/gp/bestsellers/books/287480/ref=pd_zg_hrsr_b_1_2">Krimis & Thriller</a> &gt; <b><a href="https://www.amazon.de/gp/bestsellers/books/419954031/ref=pd_zg_hrsr_b_1_3_last">Deutschland</a></b></span>

这是一个示例代码 sn-p 和以下代码

Elements category = htmlDocument.select("span.zg_hrsr_ladder");

我得到了跨度内的所有内容。但我只想要 a href "Bücher" "Krimis & Thriller" 和 "Deutschland" 中的文本。我怎样才能得到这些信息?

【问题讨论】:

标签: java web-crawler jsoup


【解决方案1】:

您想获取&lt;a&gt; 元素内的文本,因此选择您的跨度中的锚点(将“a”附加到选择器)并调用text() 和结果元素。

示例代码

String source = "<span class=\"zg_hrsr_ladder\">in&nbsp;<a href=\"https://www.amazon.de/gp/bestsellers/books/ref=pd_zg_hrsr_b_1_1\">B&uuml;cher</a> &gt; <a href=\"https://www.amazon.de/gp/bestsellers/books/287480/ref=pd_zg_hrsr_b_1_2\">Krimis & Thriller</a> &gt; <b><a href=\"https://www.amazon.de/gp/bestsellers/books/419954031/ref=pd_zg_hrsr_b_1_3_last\">Deutschland</a></b></span>";

Document htmlDocument = Jsoup.parse(source, "UTF-8");

Elements category = htmlDocument.select("span.zg_hrsr_ladder a");

category.forEach(aElement -> {
    System.out.println(aElement.text());
});

输出

Bücher
Krimis & Thriller
Deutschland

【讨论】:

    猜你喜欢
    • 2022-12-15
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多