Posts
391
Comments
137
Trackbacks
0
Beispiel für eine Google-Abfrage

Hier ein kleines Beispiel für eine automatisierte Abfrage bei Google. Dieses kleine Konsolenprogramm liest einen Suchbegriff ein und gibt danach die ersten 10 Treffer bei Google aus:

using System;

using System.Collections.Generic;

using System.Net;

using System.Text;

 

namespace GoogleAbfragen

{

    class Program

    {

        static List<string> webPages = new List<string>();

 

        static void Main()

        {

            Console.WriteLine("Bitte den Suchbegriff eingeben: ");

            string suchbegriff = Console.ReadLine();

            GetGoogleResults(suchbegriff);

            Console.WriteLine();

            Console.WriteLine("Folgende Seiten wurden gefunden:");

            foreach (string page in webPages)

            {

                Console.WriteLine(page);

            }

            Console.ReadLine();

        }

 

        public static void GetGoogleResults(string searchItem)

        {

            // Google Searchstring zusammenbauen

            StringBuilder googleSearchString = new StringBuilder(searchItem);

            googleSearchString.Replace(" ", "+");

            googleSearchString.Insert(0, "http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=");

 

            // die Google-Seite einlesen

            WebClient client = new WebClient();

            byte[] result = client.DownloadData(googleSearchString.ToString());

            string googleReturnPage = Encoding.ASCII.GetString(result);

           

            int startPoint = 1;

            int endPoint = 1;

            const string newLinkStartFlag = "<h3 class=r><a href=\"";

            const string newLinkEndFlag = "\" class=l";

 

            // nur die ersten 10 Treffer einlesen

            for (int i = 0; i < 10; i++)

            {

                startPoint = googleReturnPage.IndexOf(newLinkStartFlag, startPoint);

                endPoint = googleReturnPage.IndexOf(newLinkEndFlag, startPoint);

 

                string page = googleReturnPage.Substring(startPoint + newLinkStartFlag.Length,

                                endPoint - (startPoint + newLinkStartFlag.Length));

                webPages.Add(page);

 

                startPoint = endPoint;

             }

        }

    }

}

 

posted on Tuesday, August 04, 2009 11:35 AM Print
Comments
No comments posted yet.

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 7 and 6 and type the answer here: