ほとんどの内部サイトとは異なるサーバーでホストされている社内サイトがあります。サイトは、私がスクリーンスクレイピングで取得したい情報を出力します。私はasp.net(C#)ページと他の内部サイト上のHTTPWebRequestを使用してスクリーンスクレイピングを行ってきましたが、ほとんどの場合とは異なり、このサイトはユーザー名とパスワードを必要とします。ログインページと誰もが同じログイン情報を使用します。画面スクレイピングのためにサイトに自動的にログイン
私はWeb上で自動ログインを行ういくつかの例を見てきましたが、それらのどれも私が必要とするものはありませんでした。私はaspxページを使用してサイトにログインし、次のページからデータを取得したい。
私が見た例では、Cookieを生成し、HTTPWebRequestストリームにログインデータを投稿しています。私は本当にこの場合にこれを行う方法がわかりません。
フォームフィールドに入力してsubmitwボタンを実行することは可能ですか(プログラマチックおよびバックグラウンド)。ここで
は、ログインページのコードの一部です:
<script>
//StartTranslate:NetLanguage
function window_onload() {
deleteCookie("BodyURL","/Net",0);
document.loginform.UserName.focus();
document.loginform.UserName.value=sUserName;
document.loginform.UserName.select();
}
function doSubmit() {
var sUserName = SMCookieGetUserName();
loginform.submit();
}
</script>
<form name="loginform" action="/Net//netportal.dll/SubmitLogin" method="post" >
<input class="textbox" type="text" name="UserName" id="UserName" maxlength="128" tabindex="1" >
<input class="textbox" type="password" name="Password" id="Password" maxlength="128" tabindex="2" >
<img onClick="doSubmit();" src='/net/PortalPages/Images/slogin.gif' onselectstart="return false;" tabindex="3">
<input type="hidden" value="" name="Timezone">
<input type="hidden" value="" name="redirect">
<input type="hidden" value="true" name="ExplicitLogin">
</form>
可能重複使用に見えるかもしれません[C#でasp.netのフォーム・ログインとスクリーン・スクレイピングサイト?](http://stackoverflow.com/questions/901045/screen- scraping-a-site-with-a-asp-net-form-login-in-c) –