昨日はスノボー、今日はPythonNerima

昨日は、
前の会社の人たちと湯沢の神立へスノボーしに行ってきた。

楽しかった!
来年は泊まりだな。って言ってた。
なんならマイクロバス借りてみんなで、
行けたらおもしろいかも。

いつもはクアハウスで温泉に入って休憩所でのんびりしてから、
寝るのだが・・・

やってねー!
なんか暗いからおかしいと思ったんだよねw

しょうがなく近くの健康ランドへGO!

けっこうぼろいけど、
ちゃんと寝られたからよかった。
(すげ〜イビキかいているやつがいたけど・・・。)

ゲレンデのコンディションはそれなりに良かった。
(春スキーだけどと言うことで。)
天候は微妙だったが、
かなりの本数を滑れたのが、
なによりですね。

筋肉痛も軽くあるぐらいで、
思ったよりも全然動ける。

良かったよぉ〜。

今日はPython練馬って事で、
練馬区練馬で飲んできた。

集まったのは、

@MiCHiLU
@aohta
@kishir(自分)

の合計3人。
人数は少ないけど、
多いと誰と喋ろうかすごい迷って、
あまり話せないので、
良かった。
軽い感じで日常会話っぽいのも
なんか新鮮だったな〜。
技術のことよりも、
雑談って感じかなw

後、
みんな練馬に来れば良いよ。
良いところだよ。
なんなら大泉学園にも来れば、
最高にうまい焼鳥屋があるんだけどな。
(近いと自分が帰るのが楽だからってのが重要w)

さて、
今日はまだ作業が残っているのでやらないと。
本当はドラゴンボールGTを見たいけど、
我慢、我慢。

PyhonでYahooAPI関連検索を試してみた

Yahoo!デベロッパーネットワーク

というページがあり、
ここにはウェブ検索や画像検索などのAPIの
詳細が書かれている。

関連検索ワードWebサービスは下記から。

使用するのには、
アプリケーションID
が必要みたいなので登録した。

後気をつけなければいけないのが、

関連検索ワードWebサービスは、
24時間中1IPアドレスにつき50000件のリクエストが上限となっています。

なるほど。
お金を払って商用とかに使えるのかな?
今度聞いてみたいな。

今回は以前使用した「BeautifulSoup」を使って、
早速やってみる。
(nobuさんにlxmlで良くない?って言われてたな。。。今度はそっちでやってみよう。)
[python]>>> import urllib2
>>> from urllib import quote
>>> from BeautifulSoup import BeautifulSoup
>>> opener = urllib2.build_opener()
>>> yahoo_url = u’http://api.search.yahoo.co.jp/AssistSearchService/V1/webunitSearch?’
>>> yahoo_id = u’appid=登録したアプリケーションID’
>>> search_tag = u’python’
>>> yahoo_query = ‘u&query=’ + quote(search_tag.encode(‘utf-8’))
>>> yahoo_html  = opener.open(yahoo_url + yahoo_id + yahoo_query).read()
>>> yahoo_soup  = BeautifulSoup(yahoo_html)
>>> print yahoo_soup
[/python]

実際に取得した値を表示させるとこんな感じ。

[xml]< ?xml version='1.0' encoding='utf-8'?>

monty python
colt python
python インストール
python 制限
python cgi
python 入門
python ダウンロード



[/xml]

上記から
<result>の部分のみを取得する。

[python]>>> yahoo_obj   = []
>>> for yobj in yahoo_soup.findAll(‘result’):
…  yahoo_obj.append(”.join([str(t) for t in yobj.contents[:]]))[/python]
こんな感じかな。
とりあえず取れた。

Pythonではてなダイアリーキーワード自動リンクAPIを試してみた

はてなダイアリーキーワード自動リンクAPI
今作成中のブログに使えないか考えてたので、
試してみた。

サンプルは、
Perlしかなかったので、
Pythonで書いてみた。

[python]
#まずxmlrpclibをインポートします。
>>> import xmlrpclib

#次にurlを指定します。
>>> server = xmlrpclib.ServerProxy(‘http://d.hatena.ne.jp/xmlrpc’)

#次は実際リンクを貼りたい内容と各属性を指定しています。
>>> result = server.hatena.setKeywordLink({‘body’: ‘はてなでスケボーやレコードなどを検査するとどんなレスポンスが返ってくるのだろう?’, ‘score’: ’20’, ‘a_target’: ‘_blank’, ‘a_class’: ‘keyword’})

#最後にレスポンスを表示してみる
>>> print result
はてなスケボーレコードなどを検査するとどんなレスポンスが返ってくるのだろう?
[/python]

こんな感じで返ってきたっす。

指定するパラメーターなどははてなに記載されていました。

uri : http://d.hatena.ne.jp/xmlrpc
encoding : utf8
methodName : hatena.setKeywordLink
parameters : 以下を参照
body(string): キーワードを抽出するテキストを指定します。
score(int): 0〜50。キーワードスコアのしきい値を指定します。指定された値よりもスコアが大きいキーワードのみが抽出されます。省略可。
cname(array): キーワードのカテゴリーを指定します。指定があった場合、「一般」と指定されたカテゴリーのキーワードが抽出されます。指定が無かった場合は、全カテゴリーとなります。book,music,movie,web,elec,animal,anime,food,sports,game,comic,hatena,clubが指定可能です。省略可。
a_target(string): アンカー(a)タグのtarget属性値を指定します。省略可。例:_blank
a_class(string): アンカー(a)タグのclass属性値を指定します。省略可。例:keyword

今回指定したのは、

・body : ’はてなでスケボーやレコードなどを検査するとどんなレスポンスが返ってくるのだろう?
・score : 20
・a_target : _blank
・a_class : keyword

です。
これをブログに組み込んだら面白いかな?
と考え中です。

Social Graph API をPythonでやってみた

気になったのでやってみた。
自分のtwitterのページでFollowされているのを取得する。

まずはベースとなるURLが

http://socialgraph.apis.google.com/lookup

こちらは、
GoogleCodeに記載されている。
http://code.google.com/apis/socialgraph/

で引数を決める。
今回使用したのは、

・pretty(インデント・改行される。)
・callback(コールバック関数を指定)
・edo(FollowしているURLを表示させる)

In [1]: base_url = ‘http://socialgraph.apis.google.com/lookup?q=http://twitter.com/kishir&pretty=1&callback=foo&
edo=1’

In [2]: html = opener.open(base_url).read()

In [3]: print html
foo({
 ”canonical_mapping”: {
  ”http://twitter.com/kishir”: “http://twitter.com/kishir”
 },
 ”nodes”: {
  ”http://twitter.com/kishir”: {
   ”attributes”: {
    ”url”: “http://twitter.com/kishir”,
    ”profile”: “http://twitter.com/kishir”,
    ”rss”: “http://twitter.com/statuses/user_timeline/kishir.rss”,
    ”atom”: “http://twitter.com/statuses/user_timeline/kishir.atom”
   },
   ”nodes_referenced”: {
    ”https://kishi-r.com/”: {
     ”types”: [
      ”me”
     ]
   },
    ”http://twitter.com/kano_e”: {
     ”types”: [
      ”contact”
     ]
    },
    ”http://twitter.com/soundkitchen”: {
     ”types”: [
      ”contact”
     ]
    },
    ”http://twitter.com/tasukuchan”: {
     ”types”: [
      ”contact”
     ]
    },
    ”http://twitter.com/yoshuki”: {
     ”types”: [
      ”contact”
     ]
    }
   }
  }
 }
});

なんでだろう?
Followされているユーザーが全て表示されない。
引数「q」に他のURLを加えると増えるのだが、
それも良くわからないなぁ~。

もうちょっと試してみるかな。