VBAでIEからソースコードを取得したい
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2014年10月4日(土)10時00分 From: 管理人 | 返事 削除 変更 |
検証はしていないので、憶測でなら。 まずデータ抜くだけなら、objIE.Visible = Trueは表示させなくてもいいかもですね。 表示に処理がかかるかもしれないので、objIE.Visible = Falseにされてはどうですか? あとは、InternetExplorerオブジェクトではなく、直接HTMLDocumentオブジェクトで取得する方法です。 Sub sample() Dim html As MSHTML.HTMLDocument Set html = New MSHTML.HTMLDocument Dim document As MSHTML.HTMLDocument Set document = html.createDocumentFromUrl("http://www.vba-ie.net/", vbNullString) Do While document.readyState <> "complete" DoEvents Loop Debug.Print document.body.innerHTML Set html = Nothing Set document = Nothing End Sub いずれにしても1万件を処理するとなればそれなりに時間がかかるので、処理専用のPCを用意するほうがいいかもしれません。 |
Message#1 2014年10月4日(土)09時52分 From: スクエア | 返事 削除 変更 |
あるサイトからURLを1万件以上抽出したのですが、こちらに1つ1つアクセスしていき、テキストを抽出しようと考えています。 処理自体は難しくないのですが、数が多すぎますので、どうにか早く抽出できないか考え中です。 私のレベルは一般的にweb表示、データ取得程度でそこまで詳しくありません。 一応基本形として以下で処理できなくはないと思っているのですが、なにかいい方法はありませんでしょうか? よろしくお願いします。 Sub test() Dim objIE As Object Dim strHTML, url As String Dim i As Integer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True For i = 1To 10000 url = Cells(i, 1) objIE.Navigate url Call IEWait(objIE) strHTML = objIE.document.body.innerHTML Debug.Print strHTML Next End Sub |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降