Simfy Artist-code aus textdatei auslesen

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Andi2572.

    Simfy Artist-code aus textdatei auslesen

    Hallo
    ich habe da ein Problem ich möchte gerne aus dem google suche Quellcode den ich als txt gespeichert hab die Artisten-nummer auslesen hab auch schon einige tut durchgelesen finde aber leider nichts dazu.
    könntet ihr mit eine vb 2010 code schicken womit ich diese auslesen kann danke für euer Bemühen
    LG KingLars
    Dateien
    Es wird nicht viele geben hier, die dir einen fertigen Copy-Paste Code schreiben. Vllt schon gemerkt wenn ich mir mal die anderen Posts von dir ansehe...
    Habe mir den Quellcode jetzt nicht durchgelesen aber das was du vorhast sind einfache Grundlagen von Stringverarbeitung.

    Für dein Problem gibt es zwei Möglichkeiten:

    1. Stringbearbeitung (leicht)
    Du kannst mit Qullcode.IndexOf und Quellcode.Substring genau das auslesen was du haben möchtest. Suche ein Wort bzw. ein Teil im Quelltext vor dem Artist-Code der immer gleich ist, addiere das die fehlenden zeichen zu und ermittle dann ein Wort das immer gleich ist nach dem Artist-Code. Dadurch kannst dann die Länge des Artist-Codes berechnen und als Substring speichern.

    2. RegEx (schwer)
    Mit RegEx und den dazu passenden Befehlen direckt aus dem Qulltext das gewünschte raussuchen. Ist halt nur bischen schwerer aber dazu gibt es viel im Inet zu finden.
    @Croasider
    Ja du hast bestimt recht aber sie müssen mir ja auch nicht den ganzen code schreiben. Filleicht sinzekne befehle oder codfolgnen. di ich dan selber einbauen kann.
    Das mit der Stringbearbeitung werde ich dann gleich mal ausprobieren mit RegEx bin ich ja leider gnadenlos gescheitert.
    Trotzdem noch mal danke für deine benühungen.
    LG KingLars
    okay sollte auch kein Vorwurf sein ;)

    Wenn du dazu Fragen hast kannst gerne hier fragen. Ich machs meistens so wenn ichs ohne RegEx mache:

    VB.NET-Quellcode

    1. Dim ArtistID_Start as integer = Quelltext.IndexOf(*WORT1*)
    2. Dim ArtistID_Ende as integer = Quelltext.IndexOf(*WORT2*, ArtistID_Start) 'mit dem zweiten Parameter sucht er ab dem ersten Wort
    3. Dim ArtistID as String = Quelltext.SubString(ArtistID_Start, ArtistID_Ende - ArtistID_Start)


    Musst halt die Wörter davor bzw. danach raussuchen die immer gleich sind und eventuell noch paar zeichen draufadieren.
    Hoffe konnte dir etwas helfen.

    Bin übrigens gerade dabei ein Lib für Simfy zu schreiben, welche solche Sachen (Album, Artist, Track, Cover, usw) alles ausließt. Werde diese in den nächsten Tagen veröffentlichen, kannst ja mal im Showroom gucken oder ich schreib hier nen Link rein.
    Der Code funktionier leider nicht ganz :/
    Er zeigt an, dass die dritte Zeile falsch ist.
    Vielleicht kannst du ihn nochmal überarbeiten. Ich wäre dir sehr dankbar!!

    Noch eine kleine weitere Aufgabe.
    Ich habe den Quelltext in einer RichTextBox.
    Wie kann ich mit dem Code auf diesen zugreifen?
    Also: Der Quelltext soll aus der RichTextBox ausgelesen werden und nur der Künster und die Nummer in einer ListView angezeigt werden.
    Kann ich es so machen:

    VB.NET-Quellcode

    1. Dim QuelltextAusgabe As String
    2. QuelltextAusgabe = RichTextBox1.Text

    Mein kompletter Code. Vielleicht stimmt er ja nicht :O

    VB.NET-Quellcode

    1. Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim QuelltextAusgabe As String
    3. QuelltextAusgabe = RichTextBox1.Text
    4. Dim ArtistID_Start as integer = Quelltext.IndexOf(<http://www.simfy.de/artists/)
    5. Dim ArtistID_Ende as integer = Quelltext.IndexOf(-, ArtistID_Start) 'mit dem zweiten Parameter sucht er ab dem ersten Wort
    6. Dim ArtistID As String = Quelltext.SubString(ArtistID_Start, ArtistID_Ende - ArtistID_Start)
    7. ListView1.Items.Add(ArtistID)
    8. End Sub


    Ich bedanke mich dann schon mal ;)
    MFG Andi2572

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Andi2572“ ()

    Geht hiermit:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim ArtistID_Start As Integer = RichTextBox1.Text.IndexOf("/.../") + 5
    3. Dim ArtistID_Ende As Integer = RichTextBox1.Text.IndexOf("-", ArtistID_Start)
    4. Dim ArtistID As String = RichTextBox1.Text.Substring(ArtistID_Start, ArtistID_Ende - ArtistID_Start)
    5. MsgBox(ArtistID)
    6. End Sub


    Hast eigentlich nur die " vergessen. Die brauchst du Zwingend, weil du einen String (Zeichenkette) übergibst.
    Es funktioniert einfach nicht :/

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim ArtistID_Start As Integer = RichTextBox1.Text.IndexOf(" /www.simfy.de/artists/ / ") + 5
    3. Dim ArtistID_Ende As Integer = RichTextBox1.Text.IndexOf("-", ArtistID_Start)
    4. Dim ArtistID As String = RichTextBox1.Text.Substring(ArtistID_Start, ArtistID_Ende - ArtistID_Start)
    5. MsgBox(ArtistID)
    6. ' ListView1.Items.Add(ArtistID)
    7. End Sub


    Habe den richtigen Link eingefügt, aber die MsgBox zeigt einfach nichts an :/
    Was mach ich denn falsch?
    Warum funktioniert es bei dir??
    :pinch:
    Ich habe den Code ein klein wenig verändert und jetzt stimmt die obige .txt - Datei nicht mehr!!

    Mein aktueller Code:

    VB.NET-Quellcode

    1. Private Sub cmdSuchen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSuchen.Click
    2. WebBrowser2.Navigate("http://www.google.de/#hl=de&source=hp&q=" + TextBoxsuche.Text & " Simfy" + "&aq=f&aqi=g10&aql=&oq=&gs_rfai=&fp=81443f5e551dfc1c")
    3. While WebBrowser2.ReadyState <> WebBrowserReadyState.Complete
    4. Application.DoEvents()
    5. End While
    6. RichTextBox1.Text = WebBrowser2.Document.Body.OuterText
    7. SendKeys.Send("{Enter}")
    8. End Sub
    9. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    10. Dim ArtistID_Start As Integer = RichTextBox1.Text.IndexOf(" /www.simfy.de/artists/ / ") + 5
    11. Dim ArtistID_Ende As Integer = RichTextBox1.Text.IndexOf("-", ArtistID_Start)
    12. Dim ArtistID As String = RichTextBox1.Text.Substring(ArtistID_Start, ArtistID_Ende - ArtistID_Start)
    13. MsgBox(ArtistID)
    14. ' ListView1.Items.Add(ArtistID)
    15. End Sub
    16. End Class


    Ich möchte nur die Nummer in einer ListView anzeigen lassen...