Html Code durchsuchen und Werte in Excel Tabelle speichern (VB.NET 2013)

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Html Code durchsuchen und Werte in Excel Tabelle speichern (VB.NET 2013)

    Hallo liebe Community :thumbup: ,

    ich arbeite derzeit an einem Programm für eine Automatisierte Telefonnummern Suche. In einer Excel Tabelle befinden sich Hausnummer und Straße. Diese möchte ich in einen Link einsetzen und dann den Html Code auslesen, um die Nummer (z.b. unten im Html Code (0 22 05) 8 32 57) herauszubekommen und ensprechend in die Excel Tabelle schreiben.

    Habe nicht so den großen Plan von VB.Net. Nur Grundwissen aus meinem Informatik Modul im Ingenieuers Studium. Bisher habe ich viele Informationen gesammelt (vorallem hier aus dem Forum) und zu einen Quellcode zusammen getragen bzw. angepasst. Leider funktioniert es nicht, bzw es kommt keine Fehlermeldung es passiert einfach garnichts und ich weis mittlerweile nicht mehr weiter. ?(
    Ich vermute, dass der Fehler bei dem Regex befehl liegt. Habe mir dazu das Tutorial aus dem Forum durchgelesen. Jedoch bin ich mir unsicher ob das so korrekt ist.

    Hier vorerst einen Auszug aus dem Html Code:

    HTML-Quellcode

    1. <a href="#" class="hitlnk_flower">Blumengr&uuml;&szlig;e versenden</a><br/>
    2. </div>
    3. <div class="right">
    4. <!-- Logo - nicht bei PrivateintrÀgen aus meinOE -->
    5. &nbsp;<span class="">(0 22 05) 8 32 57</span>
    6. <br/>
    7. </div>


    Und Hier der Quellcode in VB.NET:

    VB.NET-Quellcode

    1. Dim MyExcel As New Excel.Application
    2. With MyExcel.Workbooks.Open(Pfad)
    3. With .Sheets(1)
    4. For r = 2 To .Cells(.Rows.Count, 7).End(Excel.XlDirection.xlUp).Row
    5. Dim aktuelleStraße = .Cells(r, 1).Value
    6. Dim aktuelleHausnummer = .Cells(r, 2).Value
    7. Dim aktuellerWert As String = aktuelleStraße & " " & aktuelleHausnummer
    8. 'Dim aktuelleNummer As String
    9. Dim httpRequest As HttpWebRequest = HttpWebRequest.Create("http://www3.dasoertliche.de/Controller?sst=yes&page=1&zvo_ok=0&action=43&st=" & aktuelleStraße & "+" & aktuelleHausnummer & "&choose=true&image=Finden&skw=yes&ci=r%F6srath&sfn=yes&form_name=search_nat_ext&book=912&context=1")
    10. Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
    11. Dim reader As StreamReader = New StreamReader(httpResponse.GetResponseStream)
    12. Dim httpContent As String = reader.ReadToEnd
    13. 'txtSourcecode.Text = httpContent
    14. Dim aktuelleNummer As New Regex("&nbsp;<span class="">.*</span>\s")
    15. Dim aktuelleNummer2 As String = aktuelleNummer.Match(httpContent).ToString()
    16. .cells(r, 3).value = aktuelleNummer2
    17. Next
    18. End With
    19. End With


    Das 'txtSourcecode.Text = httpContent habe ich als Kommentar gekennzeichnet, da es immer als falsch angezeigt wurde. War bestandteil eines Codes, den ich genutzt habe, dieser hier: Etwas aus dem HTML Quelltext auslesen mit HTTPWebRequest & RegEx

    Für jeden Tipp bin ich sehr dankbar!!! ;) :) :thumbsup:

    Viele Grüße
    Teslon
    Hi Murdoc,

    habe jetzt mal zum testen versucht den Quellcode sprich httpContent in einem Label anzeigen zu lasssen. Hat nicht funktioniert. Hängt das evtl mit dem 'txtSourcecode.Text = httpContent zusammen?
    Das Problem was ich da habe ist, dass ich den Befehl nicht kenne um das Objekt ganz am Anfang hinzuzufügen bzw den Verweis im entsprechendem Menü.

    Viele Grüße
    Teslon
    Was genau willst du mit deinem Vorhaben bezwecken? Denn hier ein Auszug aus den Nutzungsbestimmungen von Das Örtliche:

    So ist insbesondere [...] sowie das Auslesen der Daten im Internet zu den vorgenannten Zwecken sowie zu Zwecken sonstiger kommerzieller Verwendung nicht gestattet
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Hallo Marcus,

    das Programm ist für ein wissenschaftliches Forschungsprojekt seitens meiner Hochschule. Es geht darum Energieverbräuche zu erfassen und zu analysieren. Normalerweise geschieht dies mit Kennwerten für bestimmte Gebäudetypen. Da sich ca 700 Gebäude in dem Projektgebiet nicht eindeutig mit Hilfe jener Kennwerte zuordnen lassen muss ich nun eine Tabelle erstellen, in der die Nummern stehen. Das manuell zu machen ist Arbeit für einen Zombie, darum habe ich angefangen das Programm zu schreiben. Ich denke, dass aufgrund des wissenschatlichen Hintergrundes eine komerzielle Nutzung nicht gegeben ist, zumal die Nummern nicht Teil der Ergebnisse sein werden. Muss jedoch auch sagen, dass ich mich damit nicht wirklich auskenne.
    Kann mir wirklich niemand helfen? Brauche dringend hilfe mit den Problemen. Es würde mir schon helfen, wenn mir jemand erklärt, wie ich txtSourcecode.Text importiere. Habe dazu sehr intesiv aus Google gesucht, bin jedoch nicht schlau daraus geworden.

    Bitte helft mir !
    Hast du mal versucht das Ergebnis aus httpContent in eine Variable zu schreiben und erst dann an die Testbox zu übergeben.
    ​Denn im Prinzip scheint der aufbau, meiner Meinung nach, richtig zu sein zumindest sieht das bei mir nicht anders aus ;)
    It's not a bug, it's a feature

    Teslon schrieb:

    Es würde mir schon helfen, wenn mir jemand erklärt, wie ich txtSourcecode.Text importiere.


    txtSourcecode ist sicherlich einfach eine Textbox auffm Form, die so heisst.
    Und dein Fehler ist wohl, dass du auf deim Form keine Textbox hast, die so heisst.
    Lösung: Mach eine Textbox hin, und nenn sie so.