Ich habe versucht zu sehen, ob ich Fahrplandaten einer Schulwebsite bekommen könnte, und mache eine kleine Anwendung davon. Im Moment ist es das, was ich habe:C# Lesen von Daten aus html
string userInput = "/*My username will be here*/";
string passInput = "/*My password will be here */";
string formUrl = "https://portal.gc.ac.nz/student/index.php/process-login";
string formParams = string.Format("username={0}&password={1}", userInput, passInput);
string cookieHeader;
WebRequest req = WebRequest.Create(formUrl);
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(formParams);
req.ContentLength = bytes.Length;
using (Stream os = req.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}
WebResponse resp = req.GetResponse();
cookieHeader = resp.Headers["Set-cookie"];
string pageSource;
string getUrl = "https://portal.gc.ac.nz/student/index.php/timetable";
WebRequest getRequest = WebRequest.Create(getUrl);
getRequest.Headers.Add("Cookie", cookieHeader);
WebResponse getResponse = getRequest.GetResponse();
using (StreamReader sr = new StreamReader(getResponse.GetResponseStream()))
{
pageSource = sr.ReadToEnd();
}
ich keine Möglichkeit zu überprüfen, ob obige Code funktioniert, aber meine Frage gefunden:
Wie können Sie die Daten (Texte) zugreifen Sie wollen von der Seite? Ich möchte die Betreff-Namen erhalten. Ein Teil des HTML sieht wie folgt aus:
Müssen Sie dies über C# tun? Ich denke, es ist viel einfacher, die Daten über Javascript zu lesen. Wenn Sie die Daten für weitere Aktionen in C# nicht benötigen, können Sie dies mit einem einfachen JavaScript-Snippet tun. – Marius
Verwenden Sie ['HtmlAgilityPack'] (http://htmlagilypack.codeplex.com/), um HTML –
zu analysieren, was ist mit der Dokumentation von [dieser Software] (https://www.kamar.nz/)? Ich meine, haben Sie die Dokumentation der Webanwendung überprüft, um eine eventuell vorhandene Exportfunktion zu finden? das würde Ihren Job erheblich vereinfachen ... – Paolo