トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

E71:PythonでGoogle AJAX Feed API を使ってみる のバックアップの現在との差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*E71:PythonでGoogle AJAX Feed APIを使ってみる [#g244378c]

developer.symbian.orgのwikiのPythonのところを見ていて、次はWebサービスにアクセスするアプリを作ってみたいな~と感じ、とりあえずなんかできそうなところからちょこっといじってみたりします。

Google AJAX Feed APIは、なんかどこかのRSSフィードを引っ張ってこれるweb APIみたいで、基本はJavaScriptで使うみたいですが、Pythonでも使えそうなので、これをまず使って遊んでみます。

***参考サイト [#kecc9c57]
以下のサイトを参考にやってます。

-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を取得してみる。 [#f49fe14a]

使うモジュールは以下のとおり
:urllib|なんか、データを取ってきてくれます。
:json|json形式のいろいろをpythonで扱いやすくしてくれます。

***RSSFeedを取得してみる。 [#f49fe14a]

やり方はいたって簡単。

まず、それぞれのモジュールを読み込みます。

 >>> 
 >>> 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
 >>> 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
 >>> 

なるほど~