VBAのIE処理でポータルサイトのデータを抽出したい

最近の書き込み件数: 今日 0件、昨日 0件
未読分:2件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#2 2014年10月20日(月)20時36分
From: 通りすがり
返事 削除 変更
案外簡単だったのでやってみた。

一応このサイトのサブルーチン使ってるので、そこは省きます。

以下サンプルで1回しか検証していないけど、うまくVBAが走ったのでなんとかいけるかと思います。

ところどころエラーがおこるようであれば、自分でカスタマイズしてね。


Sub 雑貨屋詳細データ抽出()

Dim urlNO As String
Dim r As Integer, n As Integer, i As Integer, x As Integer

'▼詳細ページURL抽出

r = maxRC(, 1, 1)

'サイトを開く
'このサイトのサブルーチンを拝借
Call ieView(objIE, "http://zakka.30min.jp/")

'一覧ページのページ番号をループ
'ここはとりあえず東京(/tokyo/)で設定しているから好きなディレクトリに変更すること
'ページ番号までは自動取得がめんどくさかったので、とりあえず100にしています。
'それぞれのページ数にかえること
For n = 1 To 2
'For n = 1 To ★変更★

urlNO = "http://zakka.30min.jp/fukuoka/" & n
'urlNO = "http://zakka.30min.jp/★変更★/" & n
'一覧ページを表示
'このサイトのサブルーチンを拝借
Call ieNavi(objIE, urlNO)
'詳細URL取得(A列にどんどん格納していく)
For i = 0 To objIE.document.Links.Length - 1
If InStr(objIE.document.Links(i).innerText, "スポット詳細を見る") > 0 Then
Cells(r, 1) = objIE.document.Links(i).href
r = r + 1
End If
Next i

Next n

'▲ここまでが詳細ページのURL取得

'▼詳細データ抽出
'一覧で取得したデータ数
r = maxRC()

For i = 2 To r
'詳細ページをループで表示
'このサイトのサブルーチンを拝借
Call ieNavi(objIE, Cells(i, 1))
'紹介文取得
For Each objTag In objIE.document.getElementsByClassName("guide_place_text")
Cells(i, 3) = objTag.innerText
Exit For
Next
'D列以降に店舗情報
x = 4

'テーブルにある情報をどんどん取得
For Each objTag In objIE.document.getElementsByTagName("td")

Cells(i, x) = objTag.innerText
x = x + 1

Next

Next i

'▲ここまでが詳細ページの情報取得

MsgBox "完了だ!"

End Sub

Message#1 2014年10月20日(月)19時30分
From: ピアット
返事 削除 変更
VBAのIE処理で下記サイト(ポータルサイト)のデータを抽出したいのですがどのようにすればよろしいでしょうか?
各都道府県別に一覧表があるので、雑貨屋紹介ページのURLを抽出してからそのURLにアクセスしてURL、地域 、紹介文、店舗名、住所、電話番号、営業時間、定休日を抽出したいと考えています。

VBAでIEを表示したりするぐらいなら知識があるのですが、全体的なプログラムを書ききれません。
どのように書けばいいかご指示お願いします。

http://zakka.30min.jp/

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com