• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAでネット上のデータ抜き取り)

エクセルVBAでネット上のデータ抜き取り

このQ&Aのポイント
  • アマゾンのページにある本のベストセラーのデータをエクセルのファイルに反映させたいです。
  • 週のベストセラーが表示されており、銘柄名、出版社、ISBN-10、ISBN-13、発売日を抜き取ります。
  • データ取得のコマンドボタンを押すと、1位から20位までのデータが一気に表示されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.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

goo41141141
質問者

お礼

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

関連するQ&A