唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

はてなブックマーク件数取得APIをPythonで叩く

前回の記事ではてなブックマーク件数をPythonで収集したので方法をメモしておく
sucrose.hatenablog.com

APIのドキュメントはここ

下記のように、調べたいURLをURLエンコードして「url=調べたいURL」の形で渡せばよい
「url=」は下記のように50個まで指定できる
件数はJSON形式で返ってくる

http://api.b.st-hatena.com/entry.counts?url=http%3A%2F%2Fwww.hatena.ne.jp%2F&url=http%3A%2F%2Fb.hatena.ne.jp%2F

Pythonの標準のライブラリを使う方法

いろいろimportが必要でちょっとめんどくさい

import urllib2
import urllib
import json

def getHatenaBookmarkCount(url_list):
    assert len(url_list) <= 50
    return json.loads(urllib2.urlopen('http://api.b.st-hatena.com/entry.counts?' + urllib.urlencode(zip(['url'] * len(url_list), url_list))).read())

Requestsを使う方法

pip install requestsでRequestsを入れて使うとHTTPリクエストを送る系は簡単になるのでおすすめ

import requests

def getHatenaBookmarkCount(url_list):
    assert len(url_list) <= 50
    return requests.get('http://api.b.st-hatena.com/entry.counts', params={'url': url_list}).json()

まとめ

APIは用法容量を守ってtime.sleep()を入れながら叩きましょう