【ExcelVBA】HTTP/HTTPS通信によるWebページ情報取得の方法

4月 14, 2023

※当ブログではリンク先にプロモーションを含みます。

VBAでWebページの情報を自動的に取得したい方向けに書いています。

記事の内容

・ExcelVBAでHTTP/HTTPS通信によるWebページ情報の取得方法

Webページから日々情報を自動的に取得したいと思ったことはありませんか?

HTTP/HTTPS通信によるWebページ情報取得を紹介します。

 

VBAでHTTP/HTTPS通信によるWebページ情報取得(Webスクレイピング)

今回はGoogleニュースのヘッドラインの記事タイトルとリンク先URLの取得を行います。
以下がサンプルプログラムです。

  1. Sub NEWS_GET()
  2.     Dim httpreq As Object 'サイトデータ格納先
  3.     Dim html As Object 'ドキュメント格納先
  4.     Dim html_target As Object '対象Webページ情報格納先
  5.     Dim i As Long
  6.     
  7.     'XMLHTTPオブジェク生成
  8.     Set httpreq = CreateObject("MSXML2.ServerXMLHTTP")
  9.     
  10.     '指定したURLのWebページ情報をHTTPリクエストで取得
  11.     httpreq.Open "GET", "https://news.google.com/?tab=rn&hl=ja&gl=JP&ceid=JP:ja"
  12.     httpreq.send
  13.     
  14.     'ページが完全に表示されるまで待機
  15.     Do While httpreq.readyState < 4
  16.         DoEvents
  17.     Loop
  18.     
  19.     'htmlドキュメント作成
  20.     Set html = CreateObject("htmlfile")
  21.     'html文字列をhtmlドキュメントに書き込み
  22.     html.write httpreq.responseText
  23.     
  24.     i = 1
  25.     '対象Webページ情報の取得
  26.     For Each html_target In html.getElementsByTagName("h3") 'google newsのヘッドライン
  27.         Cells(i, 1).Value = html_target.innerText
  28.         Cells(i, 2).Value = html_target.getElementsByTagName("A")
  29.         i = i + 1
  30.     Next
  31.     
  32.     'オブジェクト解放
  33.     Set httpreq = Nothing
  34.     Set html_news = Nothing
  35.     
  36. End Sub


11行目:Webページ情報を取得したいURLを設定
26行目:取得したい対象のタグを設定(今回はh3タグを設定しています)

スポンサーリンク
 

取得元URL

取得元は以下のとおりです。
赤枠のニュースタイトルとニュースのリンク先をExcelのA列とB列に出力します。
https://news.google.com/?tab=rn&hl=ja&gl=JP&ceid=JP:ja"

 

取得結果

取得結果は以下のとおりです。
A列にニュースタイトル、B列にリンク先のURLが出力できています。

スポンサーリンク
 

まとめ

VBAでHTTP/HTTPS通信によるWebページ情報取得を紹介しました。
VBAのプログラウだけで簡単にWebページの情報を取得できました。
業務効率化、情報収集に役に立てていただけたらと思います。
最後までご覧いただき、ありがとうございました。

 

【VBA】WebページのファイルをURLDownloadToFile関数を使用するダウンロード方法」も紹介していますので、もしよろしければご覧ください。

【VBA】CDOでメール送信する方法(メーラーインストールなし)」も紹介していますので、もしよろしければご覧ください。

 

¥1,604 (2024/02/27 05:40時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場
\ポイント5%還元!/
Yahooショッピング
\楽天ポイント4倍セール!/
楽天市場
\ポイント5%還元!/
Yahooショッピング