URLフェッチでハマる。

広告

結局、前回プログラミングの再開を宣言してから、13日も経ってしまいました。

いや、地震とか色々あってまったく手につきませんでした。

すこしづつ、焦らずやろうと。

TwitterのAPIを使ってつぶやきのデータを取得して解析して、データベース化し、別の画面でそれを表示するという単純なプログラムをつくろうとしています。

しかしこの「単純な処理」ができません

Twitterで呟きを検索するには、

 http://search.twitter.com/search.atom?q=検索キーワード

という感じで検索すれば良いようなのです。

「Twitter Search API の使い方」

上記のサイトを参考にしました。上記のURLをクロームのURLの部分に直接入れると確かに検索結果と思しきものが帰ってきます。

問題は、GAEでそれをどのように呼び出すかです。

キーワードが訳がわからず、色々調べていて(ここまで約1日)URLフェッチという処理をすれば、いいことがわかりました。

結局以下のサイトを参考にして、やっとデータ取得のPGを書くことができました。

「6. Google App Engine for Python で外部サイトのデータを取得する。」

from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.api import urlfetch
class MainHandler(webapp.RequestHandler):
def get(self):
url="http://search.twitter.com/search.atom?q=java"
#url="http://www.yahoo.co.jp/"
try:
result=urlfetch.fetch(url)
if result.status_code==200:
self.response.out.write(result.content)
except urllib2.URLError,e:
handleError(e)
def main():
application = webapp.WSGIApplication([('/', MainHandler)],
debug=True)
util.run_wsgi_app(application)
if __name__ == '__main__':
main()

とりあえず動いた。長い。

広告

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です