Link aus <div> lesen und benutzen?

  • C#

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Lukas.

    Link aus <div> lesen und benutzen?

    hallo Com, ich bastle gerade an einem tool welches mir etwas herunterladen soll.

    Der link zu der Datei befindet sich aber in einer <div>. nun weis ich nicht wie ich an den link heran kommen soll.

    so sieht es aus:


    Ich habe mal klein angefangen um überhaupt zu sehen ob es so klappt wie ich es mir vorstelle.

    VB.NET-Quellcode

    1. private void Form1_Load(object sender, EventArgs e)
    2. {
    3. webBrowser1.Navigate("http://www.*********.org/");
    4. }
    5. private void button1_Click(object sender, EventArgs e)
    6. {
    7. if (textBox1.Text.StartsWith("http://www.*********"))
    8. {
    9. webBrowser1.Document.GetElementById("*******-url").SetAttribute("value", textBox1.Text);
    10. webBrowser1.Document.GetElementById("submit").InvokeMember("click");
    11. }
    12. else
    13. {
    14. MessageBox.Show("Link eingeben!");
    15. }
    16. }


    nach dem "click" erscheint ein :

    HTML-Quellcode

    1. <div id=dl_link><a>*LINK*</a></div>


    aber ich weis nicht wie ich diesen einer Variabel zuweisen kann in meinem Programm.

    mfg und Danke
    Oder doch mit RegEx.

    Hier ma ein kleines Beispiel für die folgenden Sucher:)

    VB.NET-Quellcode

    1. string quellcode = "link.html";
    2. string pattern = "id=dl_link><a>(<link>(.*?))</a></div>";
    3. Regex r = new Regex(pattern);
    4. MatchCollection mc = r.Matches(quellcode);
    5. string result = mc[0].Groups["link"].ToString();


    Nicht getestet.

    n1nja schrieb:


    Musst du nicht. Du kannst auch mit String Methoden arbeiten, was aber langsamer ist.


    Ganz klares Nein. RegEx ist kein Stück auf Geschwindigkeit optimiert, die Stringfunktionen sind deutlich schneller. Man sollte nach Sachverhalt entscheiden und nicht unbedingt nach Geschwindigkeit. Außerdem ist die Wartbarkeit eines RegEx-Musters uU einfacher als zwanzig aufeinanderfolgende Stringoperationen.

    Was ich generell gerne zur Zerlegung von HTML empfehle ist das HTML Agility Pack
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.