自分方位研究所

日々の活動記録

(Excel VBAでのIE制御) はてなブログ 「記事の管理」ページ の記事一覧。記事毎の情報を取得する。

はてなブログ 「記事の管理」ページのソースコードをみていくと、一つの記事は  <tr class="tr-hover "> タグから始まっていることがわかります。

ただし、この記事のフォーマット用に

<tr class="tr-hover <%- entry.isPublic() ? '' : 'private' %>"></tr>

という行からはじまる一連の記事差込み用のタグ群が存在するので、それをつかまないようにしていく必要があります。

以下1記事分のソースコードになります。編集用URLなどは架空のものに置き換えています。全体的に何とも見づらいですが、ご容赦ください。

★(1)ここから1記事分の始まり
<tr class="tr-hover ">
          <td class="td-entry-title">
            <div class="entry-table-wrapper">
              
              
                <div class="checkbox-table-cell">
                  <input name="entry" type="checkbox" value="12345678901234567">
                </div>
              
              <div class="entry-table-cell">
                <div class="entry-table-entry-title">
                  
★(2)編集用ページURLと記事題名                    
                    <a class="entry-title js-search-entry-title" href="https://blog.hatena.ne.jp/hatena-ID.hateblo.jp/edit?entry=12345678901234567">VBAでの「debug.print」の内容を外部テキストファイルへ出力(少し変更)</a>
                  
                </div>
                <div class="entry-body ">
★(3)記事本文先頭(サマリ)                  
                  <div class="entry-body-summary js-search-entry-body">
                    昨日投稿しました "「debug.print」の内容を外部テキストファイルへ出力 " について、出力ファイル名に関する処理に少し手を加えました。 ファイル名に禁止文字が含まれていた場合、ファイル名全体を全角化して新ファイル名として出力するようになっていましたが、その部分の処理を、ファイル名の禁止文字のみ全角化するように変更しました。 例えば、ファイル名に「Now」関数を使用した場合、以下のような違いがあります。 --- 昨日版 --- (指定したファイル名) 2020/06/03 20:27:28.txt(出力したファイル名) 2020/06/03 20:27:28.txt.txt 文字全部を…
                  </div>
                </div>
              </div>
            </div>
            </td>
          
            <td class="td-right td-admin-button">
              
                <div class="entry-edit-buttons-row">
                  <div class="dropdown-window-wrapper js-entries-edit-dropdown">
                    <a class="btn dropdown-toggle" href="https://blog.hatena.ne.jp/hatena-ID.hateblo.jp/edit?entry=12345678901234567">編集</a>
                    <div class="entries-edit-dropdown-window dropdown-window">
                      <ul class="list">
                        <li>
                          <a href="https://blog.hatena.ne.jp/hatena-ID.hateblo.jp/edit?entry=12345678901234567">
                            <i class="blogicon-edit"></i> 編集
                          </a>
                        </li>
                        <li>
                          <a href="https://blog.hatena.ne.jp/hatena-ID.hateblo.jp/revisions?entry=12345678901234567">
                            <i class="blogicon-recent"></i> 編集履歴を見る
                          </a>
                        </li>
                        <li>
                          <a href="https://blog.hatena.ne.jp/hatena-ID.hateblo.jp/edit?copy_target_id=12345678901234567">
                            <i class="blogicon-entry"></i> コピーして新しい記事を書く
                          </a>
                        </li>
                        
                        
                        <li>
                          <button class="js-top-placed-activate-button" data-summary='昨日投稿しました "「debug.print」の内容を外部テキストファイルへ出力 " について、出力ファイル名に関する処理に少し手を加えました。 ファイル名に禁止文字が含まれていた場合、ファイル名全体を全角化して新ファイル名として出力するようになっていましたが、その部分の処理を、ファイル名の禁止文字のみ全角化するように変更しました。 例えば、ファイル名に「Now」関数を使用した場合、以下のような違いがあります。 --- 昨日版 --- (指定したファイル名) 2020/06/03 20:27:28.txt(出力したファイル名) 2020/06/03 20:27:28.txt.txt 文字全部を…' data-url="https://www.mypath-as-variant.com/entry/2020/06/04/220008" data-title="VBAでの「debug.print」の内容を外部テキストファイルへ出力(少し変更)" data-uuid="12345678901234567">
                            <i class="blogicon-pinned"></i> トップページの先頭に表示する
                          </button>
                        </li>
                        
                      </ul>
                    </div>
                  </div>
                  
                </div>
              
            </td>
★(4)作成者          
          <td class="td-blog-author">はてなID</td>
★(5)カテゴリ
          <td class="td-blog-category">
            
              <span class="blog-category-name">Excel VBA</span>
              <span class="blog-category-name">ブログ運営</span>            
          </td>
★(6)コメント数
          <td class="td-blog-comment">0</td>
          <td class="td-blog-description">
            

★(7)投稿日時            
              <time class="time" datetime="2020-06-04T13:00:08.000Z" data-epoch="1234567890000" data-local="">?2020?年?6?月?4?日? ?22?:?00?:?08</time>
            
          </td>
          <td>
★(8)記事公開用URL            
              <a href="https://www.mypath-as-variant.com/entry/2020/06/04/220008" target="_blank"><i title="記事を見る" class="blogicon-external tipsy-southeast"></i></a>
            
          </td>
                  </tr>

--------------------------------------------------

 簡単に、各★印の見出しについて説明します。

--------------------------------------------------

★(1)ここから1記事分の始まり

<tr class="tr-hover ">

このタグが、1ページに表示されている記事の数だけ存在しますので、各記事の区切りは、このタグを調べていくことになります。

--------------------------------------------------

★(2)編集用ページURLと記事題名

<a class="entry-title js-search-entry-title" href="https://blog.hatena.ne.jp/hatena-ID.hateblo.jp/edit?entry=12345678901234567">VBAでの「debug.print」の内容を外部テキストファイルへ出力(少し変更)</a>

このタグの「 .href」にてURLを取得し、「 .innerHTML」 にて記事題名を取得します。

--------------------------------------------------

★(3)記事本文先頭(サマリ)

<div class="entry-body-summary js-search-entry-body">
                    昨日投稿しました "「debug.print」の内容を外部テキストファイルへ出力 " について、出力ファイル名に関する処理に少し手を加えました。 ファイル名に禁止文字が含まれていた場合、ファイル名全体を全角化して新ファイル名として出力するようになっていましたが、その部分の処理を、ファイル名の禁止文字のみ全角化するように変更しました。 例えば、ファイル名に「Now」関数を使用した場合、以下のような違いがあります。 --- 昨日版 --- (指定したファイル名) 2020/06/03 20:27:28.txt(出力したファイル名) 2020/06/03 20:27:28.txt.txt 文字全部を…
 </div>

記事先頭から、一定の文字数を抜きだして表示しています。

--------------------------------------------------

★(4)作成者

<td class="td-blog-author">はてなID</td>

--------------------------------------------------

 ★(5)カテゴリ

<td class="td-blog-category">
  <span class="blog-category-name">Excel VBA</span>
  <span class="blog-category-name">ブログ運営</span>            
</td>

登録しているカテゴリの数だけ<span ~が出現します。

--------------------------------------------------

 ★(6)コメント数

<td class="td-blog-comment">0</td>

たぶんコメント数だと・・・ゼロばかりなので・・・

--------------------------------------------------

★(7)投稿日時

<time class="time" datetime="2020-06-04T13:00:08.000Z" data-epoch="1234567890000" data-local="">?2020?年?6?月?4?日? ?22?:?00?:?08</time>

datetime="2020-06-04T13:00:08.000Z"   これはグリニッジ標準時
data-local="">?2020?年?6?月?4?日? ?22?:?00?:?08   これは日本時間。グリニッジ標準時とは9時間の差。「?」マークが時刻に紛れているので除去する必要があります。

--------------------------------------------------

★(8)記事公開用URL

<a href="https://www.mypath-as-variant.com/entry/2020/06/04/220008" target="_blank"><i title="記事を見る" class="blogicon-external tipsy-southeast"></i></a>   

普通に自分のブログの記事ごとの公開用URL。私のブログでは末尾が投稿日時になっています。

 

--------------------------------------------------

以上です。

今後は、このそれぞれのタグから必要な文字列を取り出し、Excel シートに貼りつけて いく作業が待っています。