- - PR -
C#で作ったブラウザからソース取得
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-05 18:26
C#でブラウザを作りまして、
現在ブラウザに表示されてるページのソースを 自動取得してstring型の変数に記憶させるということを したいのですがどうにもやり方がわからず困っています。 何かご存知の方はご教授お願いします。 ※ulrからソースをダウンロードしてstring形式の変数に記憶させるということは 以下の方法でできますが、あくまで現在表示されているページのソースを取得したいのです。 string url = "http://*****.co.jp" WebRequest req; = WebRequest.Create(url) as HttpWebRequest ; HttpWebResponse res = req.GetResponse() as HttpWebResponse; StreamReader reader = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("Shift_JIS")); string source = reader.ReadToEnd(); reader.Close(); | ||||||||
|
投稿日時: 2006-07-05 18:48
最初にブラウザに読み込んだソースをメモリに退避させておいて、 ソースの表示は退避させたメモリから表示させるのではだめですか? | ||||||||
|
投稿日時: 2006-07-05 19:42
早速のご返答ありがとうございます。
>最初にブラウザに読み込んだソースをメモリに退避させておいて、 >ソースの表示は退避させたメモリから表示させるのではだめですか? どういうやり方でも問題ありません。 それは具体的にどうやればいいのでしょうか・・・。 | ||||||||
|
投稿日時: 2006-07-05 20:10
ブラウザを作ったって言うことは HttpWebResponse で取得したデータを元に HTML の構造を解析していますよね・・・・・・あっ ブラウザのコントロールを貼り付けているのか 検索したらこんなのが出てきましたけれど 少し動きが違うかな・・・ http://d.hatena.ne.jp/santamarta/20050219 | ||||||||
|
投稿日時: 2006-07-05 20:47
すいません。説明不足でした・・。 ブラウザはC#にあるExplorerというオブジェクトを使ってつくっています。 これを使えば例えば private AxSHDocVw.AxWebBrowser axWebBrowser1; object url = "http://*****.co.jp"; axWebBrowser1.Navigate2(ref url, ref flags, ref targetFrame, ref postData, ref header); という命令だけで簡単にブラウザにページを表示できるため、 StreamReader等でソースを取得してメモリに格納して HTML解析といったことをやる必要がないのです(というか自動で解析してくれてます)。 おそらくですがaxWebBrowser1のどこかにstring型のプロパティとしてソースが 格納されているのではないかと予想してるのですが、 しらみつぶしにメンバを探してみても それらしき物を見つけることができなかったのです・・(というか多すぎる・・)。 そこでこちらの掲示板で質問させていただいたというわけです。
リンク貼っていただいてありがとうございます。 私はC#しかやっていないのでVBで書かれてると よく分からないのですが、どうやらこれは 「ブラウザで右クリックしてソースを表示」という作業を 実行するためのコードではないでしょうか? 私がやりたいのはstring型の変数にソースデータを記憶させたいのですが・・。 | ||||||||
|
投稿日時: 2006-07-05 20:58
Documentプロパティがそれっぽいですね
サンプルがありました。 http://homepage3.nifty.com/midori_no_bike/CS/sample.html | ||||||||
|
投稿日時: 2006-07-05 21:21
ありがとうございます!
このやり方で問題解決しそうです。 本当に見つけるの早いですね。 というか私が遅いのでしょうか・・・^^; 緑のバイクはチェックしたつもりだったのですが見逃してました・・orz 答えてくださって本当にありがとうございました。 |
1