我正在研究一个软件和Jsoup上的新功能。我需要帮助。我正在解析一个网站。得到这样的链接:从链接中获取数字html解析jsoup
<a href="/?loc=shop_view_item&item=139218679" class="market-name market-link">XXX</a>
我怎样才能把数字“139218679”与Jsoup或正则表达式。你能帮我吗?
我正在研究一个软件和Jsoup上的新功能。我需要帮助。我正在解析一个网站。得到这样的链接:从链接中获取数字html解析jsoup
<a href="/?loc=shop_view_item&item=139218679" class="market-name market-link">XXX</a>
我怎样才能把数字“139218679”与Jsoup或正则表达式。你能帮我吗?
例如从javascript检查: `
var links = document.getElementsByClassName("market-name market-link");
for (var i=0; i<links.length; i++) {
console.log(links[i].href.match(/\d+$/)[0]);
}
`
我正在使用java,我不知道JavaScript。你能解释一下吗? –
@CandiceArroyo只是获得了一个href的价值,并尝试在我的答案中将它与模式匹配。 – kRicha
但你的模式不适合我。如果我使用“\\ d +”,它正在工作,但在链接中输入另一个数字。 –
该代码会为你工作。你需要的是你需要从字符串中获取数字;
String html ="<a href=\"/?loc=shop_view_item&item=139218679\" class=\"market-name market-link\">XXX</a>";
Document document= Jsoup.parse(html);
Elements elements = document.select("a[href]");
for (Element element:elements){
String itemValue = element.attr("href");
itemValue = itemValue.replaceAll("[^0-9]+", " ");
System.out.println(itemValue.trim());
}
告诉我们你试过一个[MCVE]来证明它。你必须先做出努力。 – t0mm13b
我还在尝试。对于前我试过。 String linkk = links.get(2).select(“a.market-name.market-link”)。first()。attr(“abs:href”); –
我试过模式,但它不工作。模式idPattern = Pattern.compile(“/ \\ d + $ /”); Matcher matcher = idPattern.matcher(linkk); 而(matcher.find()){ 的System.out.println(matcher.group()); } –