Die Methode dient dazu, eine Website nach einer bestimmten Zeichenkette zu durchsuchen. Als Parameter werden die URL und der Suchstring übergeben. Der Rückgabewert ist eine ArrayList mit jeglichen gefundenen Werten.
ArrayList strings = searchWebsiteForString("http://www.example.com", "example");
// Example
// Example
// example
// example
// example
Und so sieht das aus, wenn man nach Emails sucht
ArrayList results = searchWebsiteForString("http://dotnet-snippets.de/imprint", "([^@][A-Za-z0-9-_]+)@([^\\.][A-Za-z0-9-_]+).([A-Za-z]+)");
// ;info@jan-welker.de
using System;
using System.Collections;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
public static ArrayList searchWebsiteForString(string url, string regex)
{
if (url == null | regex == null)
throw new ArgumentNullException(url);
ArrayList result = new ArrayList();
var webRequest = (HttpWebRequest)WebRequest.Create(url);
using (WebResponse webResponse = webRequest.GetResponse())
{
using (StreamReader sr = new StreamReader(webResponse.GetResponseStream()))
{
string content = sr.ReadToEnd();
Regex r = new Regex(regex, RegexOptions.IgnoreCase);
Match match = r.Match(content);
while (match.Success)
{
result.Add(match.Value);
match = match.NextMatch();
}
}
}
return result;
}
2 Kommentare zum Snippet