Webbot

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Samus Aran.

    Hey,

    Ich wollte ein Webbot erstellen der auf google.de geht dann wenn ich irgendeinen begriff eingebe halt googlet und die seite danach runterliest und die urls anzeigt, das probleme ist das:

    Ich weis nicht wie der url ist ich müsste ihn quasi copieren nur denn hinteren teil und die datei ändung zum download

    Kann mir jemand helfen?
    Sorry, aber ich hab echt keinen blassen Schimmer was Du uns hiermit
    Ich weis nicht wie der url ist ich müsste ihn quasi copieren nur denn hinteren teil und die datei ändung zum download
    sagen willst (Wörter mögen Satzzeichen, sie umgeben sich zuweilen mit ihnen, um sich von anderen Wörtern, mit denen sie nichts zu tun haben möchten, abzugrenzen).

    Aber für den ersten Teil (den ich hoffentlich besser verstanden habe):
    Um eine Suche mit Google anzufangen:

    Quellcode

    1. http://www.google.de/#q=<Suchbegriff>

    Suchbegriff dann natürlich ohne < >.

    Das kannst Du z.B. mittels Webclient abrufen. Aus der Antwort kannst Du Dir die Links dann z.B. mittels RegEx raussuchen.

    Gruß FatFire
    Wie willst Du die Google-Seite abrufen - per Webbrowser-Control, WebClient oder WebRequest ?

    Jedenfalls muss das Ergebnis als HTTPDocument vorliegen, beim WebBrowser-Control liegt es eh schon so vor. Dann nur noch alle HTML-Elemente mit URLs heraussuchen .

    Dieser Link hier beschreibt wie es generell geht.

    Als Tagname wäre hier "a" und Attribute "href" zu wählen.

    Alternative Methode wäre über RegularExpressions.
    HttpWebRequest benutzen
    irgendein Request, z.B. "Arbeit"
    Mit einem StreamReader den Response auslesen
    Mit folgendem Pattern kriegst du die URLs: ((?:http|https)(?::\/{2}[\w]+)(?:[\/|\.]?)(?:[^\s""]*))
    Dann verwendest du eine MatchCollection und hast alle URLs
    Entweder benutzt du eine For Each-Schleife oder eine For-Schleife um jeden Eintrag durchzugehen

    MfG

    VB.NET-Quellcode

    1. Private Function GetAllURLs(ByVal request As String) As String()
    2. 'Die (späteren) URLs
    3. Dim urls As List(Of String) = New List(Of String)
    4. 'Der Request
    5. Dim req As HttpWebRequest = HttpWebRequest.Create(String.Format("http://www.google.de/search?q={0}", request))
    6. 'UserAgent
    7. req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"
    8. 'Mit einem StreamReader wird der Response ausgelesen
    9. 'Hier kann man auch noch Encoding angeben:
    10. 'Dim quelltext As String = New StreamReader(req.GetResponse().GetResponseStream(), Encoding.Default).ReadToEnd()
    11. Dim quelltext As String = New StreamReader(req.GetResponse().GetResponseStream()).ReadToEnd()
    12. 'Unser Pattern (Suchausdruck) für die URLs
    13. Dim pattern As String = "((?:http|https)(?::\/{2}[\w]+)(?:[\/|\.]?)(?:[^\s""]*))"
    14. 'Unsere Treffer
    15. Dim mc As MatchCollection = Regex.Matches(quelltext, pattern)
    16. 'Gehe mit einer For Each Schleife alle Treffer durch
    17. For Each m As Match In mc
    18. 'Füge jeden Treffer in unsere Liste ein
    19. urls.Add(m.Groups(1).Value)
    20. Next
    21. 'Gebe die Urls zurück
    22. Return urls.ToArray()
    23. End Function


    MfG

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