2017-06-05 3 views
-2

Ich arbeite an einer Software und neu auf Jsoup. Ich brauche Hilfe. Ich analysiere eine Website. Erste Links wie folgt aus:Get Zahlen von einem Link html Parsing Jsoup

<a href="/?loc=shop_view_item&amp;item=139218679" class="market-name market-link">XXX</a> 

Wie kann ich Zahlen "139218679" mit Jsoup oder regex. Kannst du mir bitte helfen?

+0

zeigen Sie uns, was Sie versucht haben, ein [MCVE], um es zu demonstrieren. Sie müssen sich zuerst anstrengen. – t0mm13b

+0

Ich versuche es immer noch. Ich habe das zum Beispiel probiert. String linkk = links.get (2) .select ("a.market-name.market-link"). First() .attr ("abs: href"); –

+0

Ich habe versucht Muster, aber es funktioniert nicht. Muster idPattern = Pattern.compile ("/ \\ d + $ /"); Matcher Matcher = idPattern.Matcher (linkk); während (matcher.find()) { System.out.println (matcher.group()); } –

Antwort

-1

Beispiel von Javascript zu überprüfen: `

var links = document.getElementsByClassName("market-name market-link"); 
for (var i=0; i<links.length; i++) { 
console.log(links[i].href.match(/\d+$/)[0]); 
} 

`

+0

Ich benutze Java und ich weiß nicht Javascript. Kannst du bitte erklären? –

+0

@CandiceArroyo nur Wert eines href und versuchen Sie es auch mit Muster in meiner Antwort übereinstimmen. – kRicha

+0

Aber dein Muster funktioniert nicht für mich. Wenn ich "\\ d +" verwende, funktioniert es, aber es werden andere Zahlen in der Verbindung genommen. –

0

Dieser Code wird für Sie arbeiten. Was Sie brauchen, ist, dass Sie Zahlen aus der Zeichenfolge erhalten müssen;

String html ="<a href=\"/?loc=shop_view_item&amp;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()); 
     }