Webbrowserコントロール


若葉  2009-09-30 22:17:05  No: 101989

Webbrowserコントロールを使ってWebサイトの更新日付を取得したいのですが、プロパティなどを使って取得できるものなのでしょうか?
取得方法が分かれば教えてください。

例えば: http://www.yahoo.co.jpのトップ画面の更新日付を取得可能


subaru  2009-09-30 23:37:56  No: 101990

WebBrowser1.Document.LastModified
という感じでプロパティにはアクセスできるとは思いますが、
動的に生成されるようなページではまず正確な値は取得できないようです。


魔界の仮面弁士  2009-10-01 00:26:00  No: 101991

> 更新日付を取得したいのですが
HTTP レスポンスヘッダの Last-Modified を参照されては如何でしょう。

静的な HTML ファイルを表示しているようなサイトの場合、このフィールドは
そのファイルの更新日時(タイムスタンプ)を返却する事が多い筈です。
ただし動的な cgi サイト等では、更新日時情報が存在しない事も少なくありません。

> Webbrowserコントロールを使って
WebBrowser で無くとも良いなら、XMLHTTP などで取得する方法があります。

WebBrowser だとすると、WebBrowser1.Document.lastModified で
取得できます。ただし、サーバー側が Last-Modified を返却しない場合、
この値は現在時刻を返却するだけなので、あまり意味がありません。その場合
  Format(Now(), "MM\/dd\/yyyy HH\:mm\:ss")
と同様の文字列が返される事になります。

> 例えば: http://www.yahoo.co.jpのトップ画面の更新日付を取得可能
直接的には無理だと思います。www.yahoo.co.jp の場合、サーバー側が
更新日情報(Last-Modified)を返してこないようですから。


subaru  2009-10-01 00:53:00  No: 101992

>WebBrowser1.Document.LastModified
ExcelのVBAでちょっと試したところ大文字に変換されてしまったので
そのまま貼り付けてしまいましたが、lastModifiedの方が正確です。
http://msdn.microsoft.com/en-us/library/aa752594(VS.85).aspx


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加