C#でhtmlソースを取得したいのですが、取得できるページと出来ないページがあって困っています。
取得方法は以下の方法を使用しています。
===ここから===
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
HttpWebResponse res = null;
try
{
res = req.GetResponse() as HttpWebResponse;
}
catch
{
MessageBox.Show(url + "指定した Web ページが応答していません!", "エラー");
}
StreamReader reader = new StreamReader(res.GetResponseStream(),
Encoding.GetEncoding(encode));
string htmlsource = reader.ReadToEnd();
reader.Close();
===================
htmlsourceにソースが入るのですが、取得できないページも一応ソースは取得できるのですが、
実際にIEなどのブラウザで表示した場合のソースと異なります。
ユーザーエージョンとして
req.UserAgent = "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0";
を設定しても結果は同じでした。
■取得できるページ例
http://www.amazon.co.jp/s/ref=sr_nr_n_1/375-1273 …
■取得できないページ例
http://www.amazon.co.jp/s/ref=sr_nr_n_3?rh=n%3A4 …
No.1ベストアンサー
- 回答日時:
どういう差異が出ているのかわかりませんが、
セッションIDが埋め込まれたような箇所が変化するというのであれば、
それは変化することが当然なのでそれを前提に処理するべきかと思います。
それ以外の違いがあるとしたら、
以下のような点が要因となっている可能性はあるのでは無いでしょうか。
・JavaScriptなどのスクリプトでページ内容が動的構成されている
・Cookieによってサーバーが異なるHTMLを返却している
ブラウザ側でページを開く際、
JavaScriptを無効にしてページを開いたり、
Cookieを削除してページを開いたりしてソースを比べてみてはどうでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- PHP PHP MySql ページング 2 2022/09/20 06:38
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) VBAでWEBサーバー上に保存されたPDFファイルのリンク有効チェックについて 1 2022/11/11 16:04
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローカルのコンピュータ名を取...
-
Excel VBA:特定の文字列以降(...
-
「取得先」という表現について
-
【VBA】EXCELブックを開かずに...
-
ps3で久しぶりにCDの音楽情報取...
-
ImmGetConversionListについて
-
VB or VBScriptでPCの製造番号...
-
VBA web情報取得(スクレイピン...
-
IEを使わないでhtmlテキストを...
-
IPアドレスとMACアドレスを取得...
-
モジュールからルート名前空間...
-
VBAでPDFファイルの文書のプロ...
-
get_headersでLast-Modified
-
format関数について
-
(Win32)ファイルパスから物理ド...
-
MACアドレスのベンダーコードの...
-
PHPを使って、別サイトの一部を...
-
個人向けルーターを使用してもS...
-
TreeViewのChild Node
-
perl LWPでURLにアクセスした時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
IEを使わないでhtmlテキストを...
-
Yahoo! JAPAN IDを新規取得でき...
-
不正競争防止法に該当するので...
-
ps3で久しぶりにCDの音楽情報取...
-
format関数について
-
【VBA】EXCELブックを開かずに...
-
自動車教習所について 質問 普...
-
Excel VBA:特定の文字列以降(...
-
VBAでPDFファイルの文書のプロ...
-
【C#】FindWindowExの使い方を...
-
ミュージックのアートワークを...
-
アクセスの度にIPアドレスを変...
-
ローカルのコンピュータ名を取...
-
各クライアントマシンのログイ...
-
IPアドレスとMACアドレスを取得...
-
積立投資してます。現在平均取...
-
VB or VBScriptでPCの製造番号...
-
VBS「開いているページ」のURL...
-
EXCEL、マクロ-改ページ行番号...
おすすめ情報