エクセルVBAでwebページの特定の箇所のデータを取得したい
未読分:3件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#3 2021年1月22日(金)01時28分 From: ゆう | 返事 削除 変更 |
下記ページの210件すべての 会社名、URL、住所、電話番号をエクセルにデータ取得できるのでしょうか? IE操作が初めてで分かりません。 初歩的で申し訳ありません。アドアイスお願いします。 https://itp.ne.jp/keyword/?keyword=%E8%A3%BD%E9%BA%BA&areaword=%E5%A4%A7%E9%98%AA%E5%BA%9C&sort=01&sbmap=false |
Message#2 2014年10月21日(火)07時42分 From: 管理人 | 返事 削除 変更 |
全体のHTMLソースを見てみないとなんともいえませんが、現在の情報だけで抽出することにします。 ソースを見ると金額のclassに「price」が品番のclassに「itemNo」が設定されています。 これをキーワードに抽出すると以下のようになります。 Sub sample() Dim objIE As InternetExplorer '該当するサイトURLをセットしてIEを起動 Call ieView(objIE, "★URL★") i=2 For Each objTag In objIE.document.getElementsByTagName("p") With objTag If InStr(.outerHTML, tagStr) > 0 Then cells(i, 1) = .innerText i = i + 1 Exit For End If End With Next i=2 For Each objTag In objIE.document.getElementsByTagName("p") With objTag If InStr(.outerHTML, tagStr) > 0 Then cells(i, 2) = .innerText i = i + 1 Exit For End If End With Next End Sub 内容としては「getElementsByTagName」でpタグだけを抽出します。 その中にキーワードが含まれているエレメントがあった場合は、そのエレメントの中の文字列だけを抽出しています。 一応cells(i,1),cells(i,2)で設定していますので、A列に金額がB列に品番が抽出できるはずです。 データ抽出については、以下を参考にしてください。 http://www.vba-ie.net/element/document-all.html |
Message#1 2014年10月14日(火)00時45分 From: 千葉のピーナッツ | 返事 削除 変更 |
エクセルVBAで、IEを起動し指定したwebページのデータを抽出したいと考えています。 IEの操作自体はなんとかできるのですが、そこからwebページ内のHTMLの中から必要な箇所を取得するプログラムを書くことができません。 <div class="A" item="1"> <p class="price"><b>200円</b></p> <p class="itemNo"><b>C5245</b></p> </div> <div class="A" item="2"> <p class="price"><b>1200円</b></p> <p class="itemNo"><b>C5462</b></p> </div> ・ ・ ・ 以下、itemが1ずつ増えていきます </body> このhtmlの中から金額と商品NOを抽出したいのですが、どのようなVBAのプログラムを書けばいいでしょうか? |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降