logo header
logo header
logo header
logo header
  • 2015.10.29
  • 技術ブログ

Qiita API がなぜかContribution数をかえしてくれない件

社内でQiitaに記事を投稿する人が増えてきたこともあり、新着記事やContributionのランキングを投稿するbotの作成を始めました。
せっかくなので、あまり普段触らない言語(今回はPython)を使ってみようと、こちらを利用させてもらい、早速pipで前述のラッパーをインストール後、ユーザ情報取得APIを叩いてみます。

返却されたJSONを確認。あれっ!?Contributionがない!!

よくよく調べてみると、これは仕様通りの動作らしく、おなじ経験をされた方の記事を発見しました。

あまりスマートではないですが、ユーザ毎のページをスクレイピングして、正規表現で期待する数値を抜き出してやるしかなさそう。Pythonで正規表現といえば、
reモジュールが定番のようなので、リファレンスを参考にしながら、Pythonで実装します。

実装方法としては、一旦HTMLのなかから、Contribution数表示部分をspanタグごと取り出してやり、取り出した中から連続する数字をとり出すという手法をとっています。
これは前述のリンク先のシェルスクリプトでの実装をほぼそのまま、Pythonで踏襲した形になります。
これで無事Contributionの取り出し方がわかったので、予定していたbot作成が継続出来そうです。

ともに世界をアップグレードできる、そんな日を夢見て。
Upgrade the World!