span html标签的模式编译器

时间:2013-12-17 21:17:37

标签: java html jsoup

您好我正在开展云计算项目亚马逊。我所坚持的部分代码是从亚马逊获得用户愿望清单。 由于存在权限限制,我所做的是在给定愿望列表网址的情况下提取整个页面源。要提取itemID,我使用了模式编译,如

Pattern p = Pattern.compile("/dp/(\\w+)/");
                    Matcher matcher = p.matcher(content);

这很简单,现在可以正确地列出所有带有itemId的产品。 我也需要每个人的价格。根据页面来源,价格是

<span class="a-size-base a-color-price a-text-bold">
                      $7.19
                    </span>

我需要为这个模式编写一个模式,我感到很困惑和困惑。我吮吸Regex表达式。有人可以帮忙吗。我看到了href的在线参考资料,但我认为这对我不起作用。

感谢dkatzel我找到了这个工具Jsoup。我在Online Jsoup Try尝试了在线转换,所以当我做CSS Query div时,我得到了所需的输出。但是我如何在我的java程序中对其进行硬编码。我有jsoup jar。

2 个答案:

答案 0 :(得分:3)

使用Jsoup的替代答案。

Element e = doc.select("span.a-size-base").first();

在项目中或编译时包含jsoup-1.x.x.jar,并添加以下导入。

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

答案 1 :(得分:1)

一个简单的表达不会起作用吗?

\\$\\d+(?:\\.\\d+)

\\$与文字$匹配。

\\d+匹配数字。

(?:\\.\\d+)匹配潜在的小数。

整个比赛就是你想要的,我猜,除非你不需要美元符号,那么你可以使用一个捕获组并取第一组(即\\$(\\d+(?:\\.\\d+)))或者一个看后面(即(?<=\\$)\\d+(?:\\.\\d+)