人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

google books の情報を json フォーマットで取得する方法が知りたいです。使用言語は python です。どなたかご存知の方、いないでしょうか?

●質問者: konnyakmannan
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● くりす

Google BooksのAPIは公開されており、ある程度まで無料で利用することができます。
http://code.google.com/intl/ja/apis/books/docs/v1/libraries.html
取得できるデータの形式はJSONになっており、例えば以下のURLで"harry potter"を検索した結果が返ってきます。
http://www.googleapis.com/books/v1/volumes?q=harry+potter


konnyakmannanさんのコメント
回答、ありがとうございます。申し訳ないのですが、APIを使ったプログラミングがはじめてなので、プログラムの具体例を示していただけるとありがたいです。

konnyakmannanさんのコメント
すみません、全くの素人で。そもそも、hoge.jsonみたいなファイルはどこにあるんですか?

2 ● Cherenkov
ベストアンサー

クリスさんの回答をフォーク。
サンプルを書いてみました。
http://jsfiddle.net/cherenkov/ts7Wp/

<html>
<head>
<meta charset="utf-8">
<script>
function hoge(res) {
console.log(res);
for (var i=0, n=res.items.length; i<n; i++) {
var item = res.items[i];
var a = document.createElement('a');
a.href = item.volumeInfo.previewLink;

var img = document.createElement('img');
img.src = item.volumeInfo.imageLinks.thumbnail;

a.appendChild(img);
document.body.appendChild(a);
}
}
</script>
</head>
<body>
<script src="https://www.googleapis.com/books/v1/volumes?q=harry+potter&callback=hoge"></script>
</body>
</html>

https://www.googleapis.com/books/v1/volumes?q=harry+potter
をブラウザで開けばjsonが返ってくることがわかると思います。
今回はcallbackパラメータを付けてjsonpを要求して、レスポンスを関数に投げています。

参考

konnyakmannanさんのコメント
回答、ありがとうございます。確かに json が返ってきました。すみません、素人すぎてクリスさんの回答とどこが変ったのかわからないのですが、どこが違うのですか?

Cherenkovさんのコメント
てか質問がpythonでしたね…

konnyakmannanさんのコメント
そうです。できればpythonならうれしいです。

Cherenkovさんのコメント
import urllib2 import json req = urllib2.Request("https://www.googleapis.com/books/v1/volumes?q=harry+potter", None, {'user-agent':'syncstream/vimeo'}) opener = urllib2.build_opener() f = opener.open(req) print f.read() これを実行してみてください。初めてpython書いた…。

Cherenkovさんのコメント
import jsonいらないですね。

konnyakmannanさんのコメント
貴重な初体験に立ち会えて光栄です。(笑)ありがとうございます、ちゃんとjsonフォーマットを取得できました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ