アプリ版:「スタンプのみでお礼する」機能のリリースについて

アマゾンのページにある本のベストセラーのデータをエクセルのファイルに反映させたいです。
例えば下記のページで週のベストセラーが表示されていますが、それぞれの銘柄のリンク先へいって
http://www.amazon.co.jp/gp/bestsellers/books/466 …
ページ下部にある登録情報の
(1)銘柄名
(2)出版社
(3)ISBN-10
(4)ISBN-13
(5)発売日
を抜き、添付したある画像のように表示させたいです。
できれば「データ取得」のコマンドボタンを押せば、1位から20位まで一気に表示させれるようにしたいです。

どなたかわかる方がいればご回答お願いします。

「エクセルVBAでネット上のデータ抜き取り」の質問画像

A 回答 (1件)

取りあえず下記で抽出は出来ました。


セルへの書き込みは追加編集してください。

Dim myWindow As Object
Dim myurl As String
Dim tagdiv As Object
Dim tagli As Object
Dim ahrefs() As String
Dim i As Long

myurl = "http://www.amazon.co.jp/gp/bestsellers/books/466 *"

For Each myWindow In CreateObject("Shell.Application").Windows
With myWindow
If .LocationURL Like "http://www.amazon.co.jp/gp/bestsellers/books/466*" Then
For Each tagdiv In .document.all.tags("div")
If tagdiv.ID Like "zg_item_*" Then
ReDim Preserve ahrefs(i)
ahrefs(i) = tagdiv.all.tags("a")(0).href
i = i + 1
End If
Next
For i = LBound(ahrefs) To UBound(ahrefs)
.navigate2 ahrefs(i)
Do While .Busy = True Or .readyState <> 4
DoEvents
Loop

MsgBox Split(.document.all("btAsinTitle").innerText, "[")(0)
For Each tagli In .document.getElementsByTagName("li")
If tagli.innerText Like "出版社*" Then
MsgBox tagli.innerText
ElseIf tagli.innerText Like "ISBN-10*" Then
MsgBox tagli.innerText
ElseIf tagli.innerText Like "ISBN-13*" Then
MsgBox tagli.innerText
ElseIf tagli.innerText Like "発売日*" Then
MsgBox tagli.innerText
Exit For
End If
Next

.GoBack
Do While .Busy = True Or .readyState <> 4
DoEvents
Loop
Next i

End If
End With
Next myWindow
    • good
    • 0
この回答へのお礼

ありがとうございました!!

お礼日時:2012/04/09 21:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!