はてぶ件数取得API

ドーナツ塔がYouTubeAPI使ってごにょごにょやってたりしてたのに影響されたわけじゃないけど、
突如なんかのWebAPI的なものをさわってみたくなった。

で、
はてブAPI
人力検索はてなおとなり質問API

を見て使ってみた。それぞれ、
urlを指定するのそのurlのはてブ件数を返すAPIと、
質問を指定すると類似質問を返してくれるAPIだよ。


XML-RPC APIなので、とっても簡単なんだよっ。


引数とかの指定が簡単に書けるoptparseが使ってみたかったので無駄に使ってるけど、
まったくいらないよ。むしろ上半分以上optparseの設定で、邪魔だけど気にしない。

import sys
import optparse
import xmlrpclib

p = optparse.OptionParser(usage="usage: %prog -b url | %prog -q query>")
p.add_option("-b", "--bookmark", action="store_true", dest="bhatena",
                   default=True, help=u"ブックマーク数を返すよ")
p.add_option("-q", "--question", action="store_false", dest="bhatena",
                   help=u"似たような質問を返すよ")
(opts, args) = p.parse_args()
if (len(args) < 1): p.print_help(); sys.exit(1)

if opts.bhatena:
  bpxy = xmlrpclib.ServerProxy('http://b.hatena.ne.jp/xmlrpc')
  url = args[0]
  result = bpxy.bookmark.getCount(url)
else:
  qpxy = xmlrpclib.ServerProxy('http://q.hatena.ne.jp/xmlrpc')
  query = {'content': args[0]}
  result = qpxy.question.getSimilarQuestion(query)

print result

で、実行

$ python sample_hatena.py -b http://d.hatena.ne.jp/peregrination/
{'http://d.hatena.ne.jp/peregrination/': 3}

(3...なんという身内オンリー。笑)

で、おとなり質問のほうを実行しようとして、コマンドプロンプトから日本語入力ができないことに気がついた。orz
で、質問をファイルに埋め込んで実行してみた。
質問

PythonErlangどちらが好きですか

<修正>
結果で、文字が正しく表示されていませんでしたが,辞書やリストを直接printしてるのが原因だとコメントにて指摘してもらいました。
で、print部分を修正。

for x in result:
  for (k,v) in x.iteritems():
    print k,v

で、修正済みの結果

content プログラミング言語を学ぼうとする者はその原典にあたるべし、という教えを良く目にします。

http://blog.livedoor.jp/dankogai/archives/50999338.html


そのような時、例として必ず挙げられているのがC言語の『K&R』、Perlの『ラクダ本』あたりなのですが、逆になかなか例が挙げられない言語が多いのも気になっています。

そこで、各言語の“原典”を教えて下さい。

私自身が現在考えているところはこんな感じです。

C言語プログラミング言語C
C++プログラミング言語C++
Perl…プログラミングPerl
Javaプログラミング言語Java
Ruby…プログラミングRuby


逆に知りたいなと思ってる主な言語は以下のようなものです。
JavaScript
C#
PHP
Common Lisp
Scheme
Erlang
Haskell
Python


勿論ここに挙げられていない言語でも結構ですし、私の考えているものが違っていれば是非指摘して欲しいです。


※注意
求めているのはあくまでも“原典”であり、「一番メジャーな本」「一番詳細な本」「良書」「おすすめ本」「表紙が動物の本」といった類のものではありません。
洋書も可です。

qid 1209228190
uri http://q.hatena.ne.jp/1209228190
content プログラミング歴数ヶ月の人に以下の言語からどれか一つを選んで教えることになりました。どれが一番適していると思いますか?
qid 1221584268
uri http://q.hatena.ne.jp/1221584268

無事表示されましたーv。
類似検索系は結構楽しいよね。

表示問題解決済み
日本語表示できるようにしようかと思ったけど、疲れたからやめた。
日本語まわりってなにかとメンドくさいよね。どうやればいんだろ。

結論
日本語のバカァ。
もう少しpythonをよく知りましょう。


今気づいたけど、
類似の質問を検索して出てきた類似検索のURLのブックマーク件数を調べるプログラムにすれば流れ的にもうちょっと綺麗だったなぁ。