ぼくらの勉強

ぼくらのための勉強をしていきます。

VBAでページ毎のはてブ数を一括取得、合計値を確認する

      2016/01/22

はてブ数

スポンサーリンク

コード内容

先にコードから紹介します。


Sub はてブ数取得()
 Dim ie As Object
 Dim i As Long
 Dim URL As String
 i = 1
 Set ie = CreateObject("InternetExplorer.Application")
 ie.Visible = True

'####A列のURLを1行目から巡回してB列以降に出力&preタグを削除。A列のデータが空欄になるまで繰り返し。####
Do
 URL = "http://api.b.st-hatena.com/entry.count?url=" + Cells(i, 1).Value
 ie.Navigate URL
 waitNavigation ie
 Cells(i, 2).Value = ie.Document.body.innerHTML
 Cells(i, 2).Replace _
 What:="<pre>", Replacement:="", _
 LookAt:=xlPart, _
 MatchCase:=False

 Cells(i, 2).Replace _
 What:="</pre>", Replacement:="", _
 LookAt:=xlPart, _
 MatchCase:=False

 i = i + 1
 Loop Until Sheets("Sheet1").Cells(i, 1) = ""

ie.Quit

MsgBox "取得完了"

End Sub

'IE遷移完了待ち
Sub waitNavigation(ie As Object)
 Do While ie.Busy Or ie.ReadyState < 4
 DoEvents
 Loop
End Sub

コードの説明

簡単なプログラムだけど備忘録的に。

ついさっきVBAでページ毎のfacebookいいねシェア数 を一括取得、ブログ全体の合計値を確認するという記事をアップしたのですが今度ははてなブックマーク(はてブ)を一括取得する方法です。

そのURLについてるはてブ数は

http://api.b.st-hatena.com/entry.count?url【Facebookのシェア数を取得したいページのURL】

にアクセスすると表示されます。

今回のコードの例で言えばA列にシェア数を取得したいページのURL一覧並べて実行すると、B列にはてブ数が出力されます。

B列の値の合計がA列に入力したページ一覧の合計はてブ数です。

A列に2015年のブログ記事一覧を入れれば、2015年の記事毎のはてブ数が分かりますし、その合計も分かります。
A列に全ページを入れれば、そのサイト(ブログ)全体のはてブ数が分かります。

参照設定

VBAIE操作の時の参照設定

VBAマクロ編集画面→ツール→参照設定で

・Microsoft HTML Object Library
・Microsoft Internet Controls

の2つにチェックを入れておいてください。

VBAのIE操作を覚えるのに一番良いと思う本(ぼくはこれで覚えました)

 - PC、IT関連, VBA