はてなブログ 「記事の管理」ページのソースコードを調べて、どのタグを拾えば良いかがわかりましたので、次は、実際にExcel VBAを使ってコードを書いていきます。
いつものように、要点だけ記載したコードで、このままでは走らないので申し訳ありません。
Doループに入って最初のFor Eachで 「getElementsByTagName("tr") 」で、<tr>タグをつかまえて、その次の For Eachで 「.getElementsByClassName("tr-hover ")」で、class="tr-hover " かどうかを検査し、さらに その<tr>タグの中、全体で「年」という文字があるかどうかを調べています。
この「年」という文字は、投稿日時を表示するときに入っている文字です。
data-local="">?2020?年?6?月?4?日? ?22?:?00?:?08</time>
ソースコードの最初の方の、差し込みタグ群には、この漢字が使われていないので、実際の記事であることの印として利用しました。
ここまで確認して、最後に Debug.Print obj1Article.outerHTML にて、ソースコードを表示すると、
<tr class="tr-hover ">
~ 1記事分のHTML ~
</tr>
として、<tr>タグに囲まれた、1記事分のコードが出力されました。
--------------------------------------------------
次に各記事の情報を抜き取ろうとして、先ず、<a>タグから見ていこうと次のコードを実行してみました。
自分の考えでは、オブジェクト「obj1Article」の中だけ[下図(2)]で<a>タグを表示していくものと思っていましたが、結果は「記事の管理」ページ全体[下図(1)]を調べていて、ページ全体の最初の方の<a>タグから出力されていました。
↓(1)===========================
objIE (「記事の管理」ページ全体)
↓(2)---------------------------------------------
obj1Article (tr)
<tr class="tr-hover ">
~ 1記事分のHTML ~
</tr>
↑(2)---------------------------------------------
↑(1)============================
<tr class="tr-hover "> ~ </tr> に囲まれた範囲だけのタグを扱うというやり方がわかりません。なので、各記事の情報抜き取りは、「getElementsByTagName」を利用していこうという計画でしたが、1記事分のHTMLをExcelシートに貼りつけ、各セルの文字列から情報を抜き出すという方向でいくことにします。
明日に続きます。
--------------------------------------------------
★2020/6/21追記★
本記事では「.getElementsByClassName("tr-hover ")」を使用して記事部分を取得すると書きましたが、1記事目はこのやり方で記事が取得できますが、2記事目以降が取得できません。(1記事目を何度も取得してしまいます)
ということで、修正版を投稿しました。