Punkte auslesen??

09/07/2015 18:07 Melli-#1
Hallo möchte einen AddMeFast Bot erstellen. Ich möchte nun die aktuelle Punkte auslesen. Nur ich weiß nicht wie. Ich habe gegoogelt und nichts passendes gefunden.

Code:
<span class="points_count">170</span>
Diese Zeile gibt an wie viele AddMeFast Punkte man hat. Wie kann ich diese nun auslesen und in einem Label packen?
09/08/2015 06:12 YatoDev#2
html parser oder regex

Das wohl einfachste aber nicht 100% sichere regex pattern währe: "unt\">(.*)</span>"

PS: Flamed mich nicht dafür^^
09/08/2015 12:57 alpines#3
Quote:
Originally Posted by »FlutterShy™ View Post
html parser oder regex

Das wohl einfachste aber nicht 100% sichere regex pattern währe: "unt\">(.*)</span>"

PS: Flamed mich nicht dafür^^
Ich ignoriere mal die letzte Zeile was du geschrieben hast.

Das Pattern ist RICHTIG schlampig. Wie du siehst enthält der <span> nur Zahlen also solltest du nicht jedes Zeichen matchen sondern nur Zahlen.

Wenn man sich zwei Sekunden mehr Zeit nimmt dann kriegt man etwas wesentlich sauberes heraus
Code:
"<span class=\"points_count\">(\d+)</span>"
09/08/2015 15:52 Melli-#4
Points Count stand ebenfalls bei der AMF Seite. Ich werde mich mal dran setzen.

edit: als text wird mir nichts angezeigt...
09/08/2015 18:18 Mostey#5
Quote:
Originally Posted by Melli- View Post
edit: als text wird mir nichts angezeigt...
Der Fehler ist in Zeile 1 deines Codes. :rolleyes:
09/08/2015 22:26 YatoDev#6
Quote:
Originally Posted by Mostey View Post
Der Fehler ist in Zeile 1 deines Codes. :rolleyes:
wow du bist gut :D:D:D
09/09/2015 15:31 Melli-#7
Ouh der hat meine Nachricht nicht abgeschickt.
Ich hab es mit VB geschrieben. Mein Tablet hat momentan kein Platz für Visual Studio also Visual Studio und VB sind sehr ähnlich.
Code:
   Dim client As New WebClient
        Dim temp As String = client.DownloadString("http://addmefast.com/free_points")
        Dim pattern As String = <span class="points_count">170(\d+)</span>
        Dim reg As New System.Text.RegularExpressions.Regex(pattern)
        Dim ausgabe As String = reg.Match(temp).Value

        Me.Label1.Text = ausgabe
Ich denke es geht nicht weil ausgabe = string. Schreibe ich aber hin das es ein Integer ist geht es nicht wegen "reg.Match(temp).Value" mhm.. schwierig. Ich habe mich nicht mit Regex auseinandergesetzt, sondern hab mir ein Video angeschaut.
09/09/2015 15:54 alpines#8
Quote:
Originally Posted by Melli- View Post
Ouh der hat meine Nachricht nicht abgeschickt.
Ich hab es mit VB geschrieben. Mein Tablet hat momentan kein Platz für Visual Studio also Visual Studio und VB sind sehr ähnlich.
Code:
   Dim client As New WebClient
        Dim temp As String = client.DownloadString("http://addmefast.com/free_points")
        Dim pattern As String = <span class="points_count">170(\d+)</span>
        Dim reg As New System.Text.RegularExpressions.Regex(pattern)
        Dim ausgabe As String = reg.Match(temp).Value

        Me.Label1.Text = ausgabe
Ich denke es geht nicht weil ausgabe = string. Schreibe ich aber hin das es ein Integer ist geht es nicht wegen "reg.Match(temp).Value" mhm.. schwierig. Ich habe mich nicht mit Regex auseinandergesetzt, sondern hab mir ein Video angeschaut.
Visual Studio ist nicht änlich mit VB, du meinst wohl eher C# ist ähnlich wie VB. Visual Studio ist die IDE für beides.
09/09/2015 16:28 Melli-#9
Quote:
Originally Posted by alpines View Post
Visual Studio ist nicht änlich mit VB, du meinst wohl eher C# ist ähnlich wie VB. Visual Studio ist die IDE für beides.
Ah Ok. Hab nur aufm Laptop Visual Studio.
09/09/2015 17:52 CorbyT#10
Versuch mal:

Code:
Dim pattern As String = "<span class=""points_count"">(\d*?)</span>"
Dim reg As New System.Text.RegularExpressions.Regex(pattern)
Dim ausgabe As Match = reg.Match(temp).Value
Label1.Text = ausgabe.Group(1).Value
09/10/2015 16:10 Melli-#11
Quote:
Originally Posted by CorbyT View Post
Versuch mal:

Code:
Dim pattern As String = "<span class=""points_count"">(\d*?)</span>"
Dim reg As New System.Text.RegularExpressions.Regex(pattern)
Dim ausgabe As Match = reg.Match(temp).Value
Label1.Text = ausgabe.Group(1).Value
Bei dem "Dim ausgabe" gibt es ein Problem. Und zwar wird mir "reg.Match(temp).Value" blau angestrichen. Demzufolge geht auch nicht "ausgabe.Group" dies wird mir ebenfalls blau angestrichen.
09/10/2015 16:30 stotterer09#12
Quote:
Originally Posted by Melli- View Post
Bei dem "Dim ausgabe" gibt es ein Problem. Und zwar wird mir "reg.Match(temp).Value" blau angestrichen. Demzufolge geht auch nicht "ausgabe.Group" dies wird mir ebenfalls blau angestrichen.
was der fehler ist wäre noch recht hilfreich
09/10/2015 16:52 CorbyT#13
Ups, du musst natürlich das ".value" bei "regex.Match(temp)" entfernen. Müsste dann funktionieren.
09/11/2015 16:11 Melli-#14
Quote:
Originally Posted by CorbyT View Post
Ups, du musst natürlich das ".value" bei "regex.Match(temp)" entfernen. Müsste dann funktionieren.
So richtig funktioniert das nicht..

Code:
 Dim client As New WebClient
        Dim temp As String = client.DownloadString("http://addmefast.com/free_points")
        Dim pattern As String = "<span class=""points_count"">(\d*?)</span>"
        Dim reg As New System.Text.RegularExpressions.Regex(pattern)
        Dim ausgabe As Match = reg.Match(temp)
        Label1.Text = ausgabe.Groups(1).Value
Er zeigt trotzdem noch " " als Label1.Text an. Und ausgabe.Group gab es nicht nur ausgabe.Groups aber ich denke das sollte die selbe Wirkung haben.
09/11/2015 17:04 CorbyT#15
Mhh, ich programmiere normalerweise in C# und da funktioniert es.
Versuch mal diesen Pattern: "points_count"">(?<p>\d*?)<" und "ausgabe.Groups("p").Value".