E71:PythonでGoogle AJAX Feed API を使ってみる
Last-modified: 2013-08-24 (土) 02:14:21 (3870d)
Top / E71:PythonでGoogle AJAX Feed API を使ってみる
E71:PythonでGoogle AJAX Feed APIを使ってみる †
developer.symbian.orgのwikiのPythonのところを見ていて、次はWebサービスにアクセスするアプリを作ってみたいな~と感じ、とりあえずなんかできそうなところからちょこっといじってみたりします。
Google AJAX Feed APIは、なんかどこかのRSSフィードを引っ張ってこれるweb APIみたいで、基本はJavaScript?で使うみたいですが、Pythonでも使えそうなので、これをまず使って遊んでみます。
参考サイト †
以下のサイトを参考にやってます。
- http://code.google.com/intl/ja/apis/ajaxfeeds/documentation/#fonje
- http://code.google.com/intl/ja/apis/ajaxfeeds/documentation/reference.html#_intro_fonje
- http://d.hatena.ne.jp/m-hiyama/20090710/1247197731
RSSFeedを取得してみる。 †
使うモジュールは以下のとおり
- urllib
- なんか、データを取ってきてくれます。
- json
- json形式のいろいろをpythonで扱いやすくしてくれます。
やり方はいたって簡単。
まず、それぞれのモジュールを読み込みます。
>>> >>> import urllib >>> import json >>>
次に、urllibのurlopen関数でurlの内容を読み込みます。
>>> >>> furl = urllib.urlopen('http://ajax.googleapis.com/ajax/services/feed/load?q=http%3A%2F%2Fwww.digg.com%2Frss%2Findex.xml&v=1.0') >>> >>> contents = furl.read()
この状態で、contentsの中には、ベタでjsonの文字列が入ってきます。
これをjsonモジュールで解析して、辞書型に変換します。
>>> j = json.loads(contents) >>> j {u'responseData': {u'feed': {u'author': u'', u'description': u'digg.com: Stories / Popular', u'entries': [{u'author': u'', u'categories': [], u'content': u'President Barack Obama will announce details of an estimated $6 billion program on Tuesday to generate jobs by providing incentives for Americans to make their homes more energy.<p></p><img src="http://feeds.feedburner.com/~r/digg/popular/~4/FMAPVtlgW6o" height="1" width="1">', u'contentSnippet': u'President Barack Obama will announce details of an estimated $6 billion program on Tuesday to generate jobs by providing ...', u'link': u'http://feeds ・・・以下省略・・・
ただ出力すると何がなんだかわかりませんが、ちょっと細工してあげると、見やすくなったり。
>>> feed = j['responseData']['feed'] >>> for i in feed: ... print i ... description author title link entries type >>>
なるほど~