[[20171013165357]] 『Webから複数ページの必要箇所のデータ取得 自動香x(スプリングまお) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Webから複数ページの必要箇所のデータ取得 自動更新も』(スプリングまお)

初めまして。質問失礼致します。
タイトルだけじゃ意味が分からないと思うのでレイアウトを書かせて頂きます。

以下Webページのソースコード一部抜粋

 <h2>

         景観用ひまわり・大輪一重咲き黄色

         </h2>

</div>

         <p class="item_spec"><img src="../common/ic_deliver_spec.gif" alt="お届け規格" width="98" height="21" /> 種子:1袋(1L・200m<sup>2</sup>分)</p>

         <p class="item_content">手間いらずで育てやすく定番の大輪黄色花。最もポピュラーな種類で、水田減反対策や環境美化用としても人気。<br />播種期:4〜7月<br />発芽温度:25℃<br /><br /></p>

         <ul class="prodicon">
           <li><img src="img/icon_s01.gif" alt="場所-日向" width="25" height="25" /></li>

           <li><img src="img/icon_s04.gif" alt="開花期" width="25" height="25" />
           6月中旬〜10月</li>

           <li><img src="img/icon_s06.gif" alt="庭植え" width="25" height="25" /></li>
           <li><img src="img/icon_s07.gif" alt="コンテナ" width="25" height="25" /></li>
           <li><img src="img/icon_s08.gif" alt="切花向き" width="25" height="25" /></li>

           </ul>
           <ul class="prodicon">

以上のソースコードの中から「花の名前」、「播種期」、「日照条件」、「開花期」、「庭植え・花壇向き」、「コンテナ・鉢植え向き」、「切り花向き」というデータが欲しいので理想としては

< 使用 Excel:Excel2016、使用 OS:Windows7 >


すみません 間違えて投稿してしまいましたのでコメントで続きを書かせて頂きます。

以上のソースコードの中から「花の名前」、「播種期」、「日照条件」、「開花期」、「庭植え・花壇向き」、「コンテナ・鉢植え向き」、「切り花向き」というデータが欲しいので理想としては

景観用ひまわり・大輪一重咲き黄色
4〜7月
場所-日向
6月中旬〜10月
庭植え
コンテナ
切花向き

といった感じにエクセルで取得できるようにしたいと思っています。
またヒマワリのページ以外にもアサガオなどといった別の花のページからも同時に取得したいと思っています。そして更に新しい花が追加された場合や、花の情報が変わった場合に自動更新もできればなーと思っています。
此方、エクセルは最低限扱える程度なので分かりやすく教えていただけたら幸いです。回答の方よろしくお願いしますm(_ _)m
(スプリングまお) 2017/10/13(金) 17:28


最低限扱える程度ならば、Webからの情報取得は無理と諦めてください。 外部オブジェクトやAPIを使う事になるので、自力でそれらを調べられないようならば、難しい内容です。

そんな事言って作れないんだろう?、とか思われるのは癪なので、サンプルコードを書いておきます。 結果表示したいシートの、シートモジュールとして貼ってから実行してみてください。 また、URLはテスト用のローカルファイルを指しているので、実際のURLに書き換えてくださいね。

 Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

 Sub test()
    Dim IE As Object
    Dim i As Long
    Dim iC As Long

    Set IE = CreateObject("InternetExplorer.application")
    IE.Visible = True
    IE.Navigate "c:\tmp\aaa.html"
    Call sWait(IE)

    With IE.Document.all(0)
        For i = 0 To .getElementsByTagName("h2").Length - 1
            iC = iC + 1
            Cells(1, iC).Value = Trim(Replace(.getElementsByTagName("h2")(i).innerhtml, vbLf, ""))
        Next i
    End With

    IE.Quit
 End Sub

 Sub sWait(OBJ As Object)
    Sleep 1000
    While OBJ.readyState <> 4
        While OBJ.Busy = True
            DoEvents
            Sleep 100
        Wend
    Wend
    Sleep 1000
 End Sub

なんとなく、ネットショッピングのページから一覧を得たいのかな、と思いますが、そうなると1階層上から商品選択する部分から作らないと駄目そうで、ますます自力で頑張って、としか言えない難しさになります。
(???) 2017/10/13(金) 18:18


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.