웹 크롤링을 수행하려면 웹사이트 로그인에 C#을 사용하세요
소개
웹 스크래핑은 웹사이트에 사용자 로그인이 필요할 때 종종 문제에 직면합니다. 이 문서에서는 후속 웹 크롤링을 위해 C#을 사용하여 프로그래밍 방식으로 웹 사이트에 로그인하는 방법을 보여줍니다.
로그인 기능
로그인을 시뮬레이션하기 위해 양식 데이터를 로그인 양식에 게시합니다. 이 예에서는 양식의 "action" 속성에 지정된 URL을 사용합니다.
<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>
그런 다음 양식 URL을 가리키는 웹 요청을 생성하고 HTTP 메서드를 "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>
서버는 후속 요청을 위해 캡처하는 "Set-cookie" 헤더를 반환합니다.
로그인 후 콘텐츠 이용
이제 로그인되었으므로 GET 요청을 사용하여 보호된 페이지에 액세스할 수 있습니다. 서버에서 자신을 식별하기 위해 GET 요청에 "Cookie" 헤더를 추가합니다.
<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>
이 단계를 따르면 프로그래밍 방식으로 웹사이트에 로그인하고 웹 스크래핑을 위해 보호된 콘텐츠에 액세스할 수 있습니다.
위 내용은 웹 스크래핑을 위해 C#을 사용하여 웹 사이트에 로그인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!