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;
}
}
}
}