Web上のHTMLを取得するには?

解決


モエカナ  2009-06-01 14:22:09  No: 141999  IP: 192.*.*.*

Web上のHTMLを取得したいのですが、下記のコードで試したところ
"このページにはフレームが使用されていますが、お使いのブラウザでは
サポートされていません。"
と表示されうまく取得出来ませんでした。
"ソースの表示"で表示されるテキストデータを取り込みたいのですが、
何か良い方法はないでしょうか?

Private Sub Form_Load()    
    
    WebBrowser1.Navigate "http://******"
    Text1.Text = WebBrowser1.Document.body.outerHTML

End Sub

環境は VB6.0、WindowsXP です。

宜しくお願いします。

編集 削除
オショウ  2009-06-01 22:07:47  No: 142000  IP: 192.*.*.*

マイクロソフトのサンプルで・・・

http://support.microsoft.com/kb/259100/ja

こういうものがありますが・・・如何?

要は、ブラウザで表示させてHTMLを取得するのではなく
直接ソケット通信でHTMLを取得する。

以上。

編集 削除
モエカナ  2009-06-02 10:22:50  No: 142001  IP: 192.*.*.*

オショウ様、回答ありがとうございます。
早速試してみます。

編集 削除
モエカナ  2009-06-02 13:38:00  No: 142002  IP: 192.*.*.*

せっかく参考となるURLを教えて頂いたのですが、
私の力量不足で理解出来ませんでした。
申し訳ありません。
ホームページにフレームが使用されている場合、
WebBrowserでHTMLを取得する事は出来ないので
しょうか?

編集 削除
魔界の仮面弁士  2009-06-02 14:54:53  No: 142003  IP: 192.*.*.*

> "ソースの表示"で表示されるテキストデータを取り込みたいのですが、
> 何か良い方法はないでしょうか?

今の方法で合っていると思いますよ。実際、Internet Explorer で
http://www.htmq.com/html/frameset.shtml
の『使用例』を表示させた場合、IE メニューにある
[表示]-[ソースの表示]では、下記のソースが表示されますし。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><title>フレーム使用例</title></head>
<frameset rows="100,*">
    <frame src="frame_ue.htm" name="ue">
    <frameset cols="150,*">
        <frame src="frame_hidari.htm" name="hidari">
        <frame src="frame_migi.htm" name="migi">
    </frameset>
    <noframes>
    このページはフレームを使用しています。
    </noframes>
</frameset>
</html>


もし、個々のフレームのソースを拾いたいという意味であるならば、
frames コレクション等から、それぞれのフレームを指定すれば OK かと。

なお、その場合は下記の点に注意が必要です。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200407/04070100.txt

編集 削除
モエカナ  2009-06-02 17:12:44  No: 142004  IP: 192.*.*.*

魔界の仮面弁士様、解説ありがとうございます。
個々のフレームのソースを取得したい場合は、
それぞれのフレームを指定する必要があるのですね。
早速試してみます。
どうもありがとうございます。

編集 削除
モエカナ  2009-06-03 15:09:02  No: 142005  IP: 192.*.*.*

framesコレクションを使用する事により、フレームのソースを
取得する事が出来ました。どうもありがとうございました。
VB6.0のWebBrowserには、どうようなプロパティやメソッドが
あるのか知りたいのですが、何処か参考となるサイトを
ご教授願えないでしょうか?

編集 削除
魔界の仮面弁士  2009-06-03 16:53:52  No: 142006  IP: 192.*.*.*

WebBrowser コントロールの日本語版ヘルプファイルは、かつて
Office 97 などに付属していました。(Webrowse.hlp)

ただし、情報が十数年間更新されていないので、Platform SDK もしくは
オンライン版の MSDN ライブラリを見た方が良いでしょう。
和訳されていないのが難点ですが。
http://msdn.microsoft.com/en-us/library/aa752043.aspx


なお、Document プロパティから返されるオブジェクトについては、
それは WebBrowser の機能では無く、それぞれのドキュメントによって
異なるものであることに注意してください。


たとえば、HTML を表示させれば、HTML の DOM が返されますが、
フォルダを表示させれば、ShellFolderView オブジェクトとなりますし、
PDF を表示させれば、AcroPDF 等のオブジェクトとなります。


で。HTML に限った話であれば、MSHTML.TLB を参照設定して使うのが楽でしょう。
なお、ブラウザのバージョンによって、使える機能に差が生じますので、
開発環境と実行環境の IE バージョンは一致させておいてください。
http://msdn.microsoft.com/en-us/library/aa741317.aspx

編集 削除
モエカナ  2009-06-05 09:11:54  No: 142007  IP: 192.*.*.*

魔界の仮面弁士様、情報ありがとうございます。
また返信が遅れてしまい申し訳ありませんでした。
ご教授頂いた情報を基に色々やってみようと思います。

編集 削除