Sonen ville göra om ett Python program till c# så han kunde bygga ett Winforms-GUI till det. Så med gemensamma krafter så översatta vi lite ormkod till c#. Hans tanke är att han har en lista i en textfil och listan innehåller ord som han vill slå upp mot Wikipedia för att sedan lyfta ut första paragrafen och konvertera HTML-texten till plain text.
För att få till det så skrev vi tre hjälpmetoder – första metoden hämtar in en webbsida och sparar i en string:
public static String GetHtml(string Url)
{
string result;
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url);
myRequest.Method = "GET";
using (WebResponse myResponse = myRequest.GetResponse())
using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(),
Encoding.UTF8))
result = sr.ReadToEnd();
return result;
}
Nästa metod lyfter ut första <p> taggen och returnerat allt innehåll i den:
static string GetFirstParagraph(string inputHTML)
{
Match m = Regex.Match(inputHTML, @"<p>\s*(.+?)\s*</p>");
if (m.Success)
{
return m.Groups[1].Value;
}
else
{
return "";
}
}
och till sist en metod för att rensa bort HTML-taggar – denna är inte bombsäker, men “good enough”:
public static string StripHTML(string input)
{
return Regex.Replace(input, "<.*?>", String.Empty);
}
Hoppas det hjälper någon!