第一回ではGoogleを表示するところまででしたが、今回はスクレイピングの肝となるデータを抜き出す部分です。
もうちょっと間空けて投稿しようかと思ったけど勢いで公開。ここらへんまでやらないと面白くないもんね。
- 前回までのおさらい
- キーワードを検索する
- プログラムにキーワード検索する部分を追加する
- 検索結果から情報を取得する
- Googleの検索結果から情報を取得するには
- 取得した情報をMsgBoxで表示するよう書き加える
- 要素を探す前にページの読み込みを待たないとエラーになる
- Excelのシートに連続で入力していく
- 処理の流れを確認
- 16-17行目 querySelectorAll
- 23-25行目 For~Next文
- 19-21行目 シートの記入開始行番号
- 27-34行目 シートへの記入
- まとめ
前回までのおさらい
前回のプログラムの処理フローを再確認します。
- IEを準備する
- IEを表示する
- Googleを開く
- 3秒まつ
- IEを閉じる
これらの動きをVBAで書いたものが以下のプログラムです。
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub web_scraping() Dim oIE As InternetExplorer 'oIEという変数はInternet Explorerが入ると宣言 Set oIE = New InternetExplorer 'oIEに新しいIEを起動して定義 oIE.Visible = True 'IEを表示させる oIE.Navigate2 "https://www.google.co.jp/" 'URLにアクセス slepp 3000 '3秒待機 oIE.Quit 'IEを閉じる End Sub
これに「Googleでキーワードを検索する」「検索結果が表示されるのを待つ」「検索結果から情報を取得」「取得した情報をシートに書き込む」という処理を加えていきます。
続きを読む