Verwenden Sie C# für die Website-Anmeldung, um Web-Crawling zu erreichen
Einführung
Web Scraping stößt häufig auf Herausforderungen, wenn für eine Website eine Benutzeranmeldung erforderlich ist. In diesem Artikel wird gezeigt, wie Sie sich mit C# programmgesteuert bei der Website anmelden und anschließend das Web crawlen.
Anmeldefunktion
Um die Anmeldung zu simulieren, posten wir die Formulardaten im Anmeldeformular. In diesem Beispiel verwenden wir die URL, die durch das „action“-Attribut des Formulars angegeben wird.
<code class="language-csharp">string formUrl = "http://www.mmoinn.com/index.do?PageModule=UsersAction&Action=UsersLogin"; string formParams = string.Format("email_address={0}&password={1}", "您的邮箱", "您的密码"); byte[] bytes = Encoding.ASCII.GetBytes(formParams);</code>
Wir erstellen dann eine Webanfrage, die auf die Formular-URL verweist, und setzen die HTTP-Methode auf „POST“.
<code class="language-csharp">WebRequest req = WebRequest.Create(formUrl); req.ContentType = "application/x-www-form-urlencoded"; req.Method = "POST"; req.ContentLength = bytes.Length; using (Stream os = req.GetRequestStream()) { os.Write(bytes, 0, bytes.Length); }</code>
Der Server gibt einen „Set-cookie“-Header zurück, den wir für nachfolgende Anfragen erfassen.
Zugriff auf Inhalte nach der Anmeldung
Nachdem wir nun eingeloggt sind, können wir über eine GET-Anfrage auf die geschützte Seite zugreifen. Wir fügen der GET-Anfrage den Header „Cookie“ hinzu, um uns gegenüber dem Server zu identifizieren.
<code class="language-csharp">string pageUrl = "登录页面后的页面URL"; WebRequest getRequest = WebRequest.Create(pageUrl); getRequest.Headers.Add("Cookie", cookieHeader); WebResponse getResponse = getRequest.GetResponse(); using (StreamReader sr = new StreamReader(getResponse.GetResponseStream())) { pageSource = sr.ReadToEnd(); }</code>
Indem Sie diese Schritte befolgen, können Sie sich programmgesteuert bei einer Website anmelden und auf deren geschützte Inhalte zum Web-Scraping zugreifen.
Das obige ist der detaillierte Inhalt vonWie kann ich mich mit C# bei einer Website zum Web Scraping anmelden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!