前回に引き続き、オライリーの入門ソーシャルデータに関して。
前回は、p6の例1−3で不具合があったので、修正した。
修正箇所は、easy_installしたtwitterのAPIラッパーの、api.pyの121行目あたりにちょろっと手を加えた。
夜も遅かったし、そこで寝てしまったんだけど、次の日、更に進めて行く上で、そのすぐしたの例1−4ですぐにこの手を加えた場所でエラーが起きた。。。
原因はsearch_.twitter.comとapi.twitter.comに投げるリクエストURIの形が違うから、前のをapi.twitter.comだけに都合のよいように書き換えたら、search.twitter.comの方にリクエストを投げるときに不具合が発生するためのよう。。。
そんなわけで、api.pyの121行目あたり、uri = '/'.join(uriparts) の後に次のように継ぎ足す。
uri = '/'.join(uriparts)
if self.domain == "api.twitter.com":
uri = uri + '/1'
これで一応、本で期待している通りには今のところ動く。
また書き直しがあるかな。。。??
2011年11月21日月曜日
【Python】入門ソーシャルデータ
オライリーの「入門ソーシャルデータ」を購入。
早速、第1章を読んで楽しもう!
。。。って思ったところ、1.2.1のtwitter ウェブAPIのラッパーを取得して、「Twitterの検索トレンドの取得」ってとこではまった。。。w
ターミナルで、
>>> import twitter
>>> twitter_api = twitter.Twitter(domain="api.twitter.com", api_version='1')
>>> trends = twitter_api.trends()
って本では入れるようになってるけど、どうにも
Traceback (most recent call last):
File "", line 1, in
File "/Library/Python/2.7/site-packages/twitter-1.7.1-py2.7.egg/twitter/api.py", line 155, in __call__
File "/Library/Python/2.7/site-packages/twitter-1.7.1-py2.7.egg/twitter/api.py", line 170, in _handle_response
twitter.api.TwitterHTTPError: Twitter sent status 404 for URL: 1/trends.json using parameters: ()
details:
ってエラーを吐いてるよ。。。orz
ってか「status 404 for URL:」って書いてあるよ?
あれ??
そんなわけで、Twitter本家のサイトを見に行くと、
うん、リクエストURL違うね?w
ラッパーだと、1/trends.json
でも、公式ガイドだと、1/trends/1.json
www
ってことで、仕方なく、easy_installしたtwitterのラッパーの「api.py」を見に行き、該当箇所を修正。
まぁ「api.py」の121行目の「uri = '/'.join(uriparts)」の後に改行いれて、122行目に「uri = uri + '/1'」っていれてあげるだけなんだけどね。
これで
(略)
>>> trends = twitter_api.trends()
っていれてもエラーはかなくなった!うん、よし!
で、続けて本にある通り、
>>> [ trend['name'] for trend in trends['trends'] ]
とリスト内包表記で、Go!!
。。。っと??またエラーだよ?w
>>> [trend['name'] for trend in trends['trends']]
Traceback (most recent call last):
File "", line 1, in
TypeError: list indices must be integers, not str
んーー??
インデックスエラー??
そんなわけで、さっき代入したtrendsの中を見てみる。
>>> trends
[{u'created_at': u'2011-11-20T16:32:46Z', u'as_of': u'2011-11-20T16:38:38Z', u'trends': [{u'url': u'http://twitter.com/search/%23HappyBirthdayJaxon', u'query': u'%23HappyBirthdayJaxon', u'events': None, u'promoted_content': None, u'name': u'#HappyBirthdayJaxon'}, {u'url': u'http://twitter.com/search/%22Katy%20is%20AMAzing%22', u'query': u'%22Katy%20is%20AMAzing%22', u'name': u'Katy is AMAzing', u'promoted_content': None, u'events': None}, {u'url': u'http://twitter.com/search/%23excaz', u'query': u'%23excaz', u'events': None, u'promoted_content': None, u'name': u'#excaz'}, {u'url': u'http://twitter.com/search/%22Get%20Ariana%20On%20Ellen%22', u'query': u'%22Get%20Ariana%20On%20Ellen%22', u'events': None, u'promoted_content': None, u'name': u'Get Ariana On Ellen'}, {u'url': u'http://twitter.com/search/%23MaisFeioQueORonaldinho', u'query': u'%23MaisFeioQueORonaldinho', u'events': None, u'promoted_content': None, u'name': u'#MaisFeioQueORonaldinho'}, {u'url': u'http://twitter.com/search/%22Edgar%20Allen%20Poe%22', u'query': u'%22Edgar%20Allen%20Poe%22', u'events': None, u'promoted_content': None, u'name': u'Edgar Allen Poe'}, {u'url': u'http://twitter.com/search/%22Excelsior%20-%20AZ%22', u'query': u'%22Excelsior%20-%20AZ%22', u'name': u'Excelsior - AZ', u'promoted_content': None, u'events': None}, {u'url': u'http://twitter.com/search/Jaxon', u'query': u'Jaxon', u'events': None, u'promoted_content': None, u'name': u'Jaxon'}, {u'url': u'http://twitter.com/search/%22David%20Luiz%22', u'query': u'%22David%20Luiz%22', u'events': None, u'promoted_content': None, u'name': u'David Luiz'}, {u'url': u"http://twitter.com/search/AMA's", u'query': u"AMA's", u'events': None, u'promoted_content': None, u'name': u"AMA's"}], u'locations': [{u'woeid': 1, u'name': u'Mundial'}]}]
あや??
u'trends': [{u'url': u'http://twitter.com/search/%23HappyBirthdayJaxon', u'query': u'%23HappyBirthdayJaxon', u'events': None, u'promoted_content': None, u'name': u'#HappyBirthdayJaxon'}, 。。。
ってなってる。
twitterの返してくる形が変わったのかな?
ということで、リスト内包表記を
>>> [ trend[u'name'] for trend in trends[0]["trends"] ]
に変えてあげると、見事、
[u'#HappyBirthdayJaxon', u'Katy is AMAzing', u'#excaz', u'Get Ariana On Ellen', u'#MaisFeioQueORonaldinho', u'Edgar Allen Poe', u'Excelsior - AZ', u'Jaxon', u'David Luiz', u"AMA's"]
本が期待してる結果になったね!!
真夜中にこんなハマるとは思わなかったw
そんなわけで、今日はここで寝ることに。
さてさて、明日もがんばるぞー!
追記:
また不具合起きたので、コードを追加しました。
こちら
早速、第1章を読んで楽しもう!
。。。って思ったところ、1.2.1のtwitter ウェブAPIのラッパーを取得して、「Twitterの検索トレンドの取得」ってとこではまった。。。w
ターミナルで、
>>> import twitter
>>> twitter_api = twitter.Twitter(domain="api.twitter.com", api_version='1')
>>> trends = twitter_api.trends()
って本では入れるようになってるけど、どうにも
Traceback (most recent call last):
File "
File "/Library/Python/2.7/site-packages/twitter-1.7.1-py2.7.egg/twitter/api.py", line 155, in __call__
File "/Library/Python/2.7/site-packages/twitter-1.7.1-py2.7.egg/twitter/api.py", line 170, in _handle_response
twitter.api.TwitterHTTPError: Twitter sent status 404 for URL: 1/trends.json using parameters: ()
details:
ってエラーを吐いてるよ。。。orz
ってか「status 404 for URL:」って書いてあるよ?
あれ??
そんなわけで、Twitter本家のサイトを見に行くと、
うん、リクエストURL違うね?w
ラッパーだと、1/trends.json
でも、公式ガイドだと、1/trends/1.json
www
ってことで、仕方なく、easy_installしたtwitterのラッパーの「api.py」を見に行き、該当箇所を修正。
まぁ「api.py」の121行目の「uri = '/'.join(uriparts)」の後に改行いれて、122行目に「uri = uri + '/1'」っていれてあげるだけなんだけどね。
これで
(略)
>>> trends = twitter_api.trends()
っていれてもエラーはかなくなった!うん、よし!
で、続けて本にある通り、
>>> [ trend['name'] for trend in trends['trends'] ]
とリスト内包表記で、Go!!
。。。っと??またエラーだよ?w
>>> [trend['name'] for trend in trends['trends']]
Traceback (most recent call last):
File "
TypeError: list indices must be integers, not str
んーー??
インデックスエラー??
そんなわけで、さっき代入したtrendsの中を見てみる。
>>> trends
[{u'created_at': u'2011-11-20T16:32:46Z', u'as_of': u'2011-11-20T16:38:38Z', u'trends': [{u'url': u'http://twitter.com/search/%23HappyBirthdayJaxon', u'query': u'%23HappyBirthdayJaxon', u'events': None, u'promoted_content': None, u'name': u'#HappyBirthdayJaxon'}, {u'url': u'http://twitter.com/search/%22Katy%20is%20AMAzing%22', u'query': u'%22Katy%20is%20AMAzing%22', u'name': u'Katy is AMAzing', u'promoted_content': None, u'events': None}, {u'url': u'http://twitter.com/search/%23excaz', u'query': u'%23excaz', u'events': None, u'promoted_content': None, u'name': u'#excaz'}, {u'url': u'http://twitter.com/search/%22Get%20Ariana%20On%20Ellen%22', u'query': u'%22Get%20Ariana%20On%20Ellen%22', u'events': None, u'promoted_content': None, u'name': u'Get Ariana On Ellen'}, {u'url': u'http://twitter.com/search/%23MaisFeioQueORonaldinho', u'query': u'%23MaisFeioQueORonaldinho', u'events': None, u'promoted_content': None, u'name': u'#MaisFeioQueORonaldinho'}, {u'url': u'http://twitter.com/search/%22Edgar%20Allen%20Poe%22', u'query': u'%22Edgar%20Allen%20Poe%22', u'events': None, u'promoted_content': None, u'name': u'Edgar Allen Poe'}, {u'url': u'http://twitter.com/search/%22Excelsior%20-%20AZ%22', u'query': u'%22Excelsior%20-%20AZ%22', u'name': u'Excelsior - AZ', u'promoted_content': None, u'events': None}, {u'url': u'http://twitter.com/search/Jaxon', u'query': u'Jaxon', u'events': None, u'promoted_content': None, u'name': u'Jaxon'}, {u'url': u'http://twitter.com/search/%22David%20Luiz%22', u'query': u'%22David%20Luiz%22', u'events': None, u'promoted_content': None, u'name': u'David Luiz'}, {u'url': u"http://twitter.com/search/AMA's", u'query': u"AMA's", u'events': None, u'promoted_content': None, u'name': u"AMA's"}], u'locations': [{u'woeid': 1, u'name': u'Mundial'}]}]
あや??
u'trends': [{u'url': u'http://twitter.com/search/%23HappyBirthdayJaxon', u'query': u'%23HappyBirthdayJaxon', u'events': None, u'promoted_content': None, u'name': u'#HappyBirthdayJaxon'}, 。。。
ってなってる。
twitterの返してくる形が変わったのかな?
ということで、リスト内包表記を
>>> [ trend[u'name'] for trend in trends[0]["trends"] ]
に変えてあげると、見事、
[u'#HappyBirthdayJaxon', u'Katy is AMAzing', u'#excaz', u'Get Ariana On Ellen', u'#MaisFeioQueORonaldinho', u'Edgar Allen Poe', u'Excelsior - AZ', u'Jaxon', u'David Luiz', u"AMA's"]
本が期待してる結果になったね!!
真夜中にこんなハマるとは思わなかったw
そんなわけで、今日はここで寝ることに。
さてさて、明日もがんばるぞー!
追記:
また不具合起きたので、コードを追加しました。
こちら
2011年8月10日水曜日
ZONE TRIBUTE
限定版届きました!
さっき聴き始めたので、まだまだsecret base 〜10年後の夏〜へのアンサーソングは聴けてないけど。。。
女性ボーカルたちのカバー(disk1)はすべて聴き終わった!すてきすぎた!!
今は再結成ZONEのリセレクト(disk2)を聴いてる。
もうやばいww
明日も朝から予定あるけど、しーらない!聴きまくるww
さっき聴き始めたので、まだまだsecret base 〜10年後の夏〜へのアンサーソングは聴けてないけど。。。
女性ボーカルたちのカバー(disk1)はすべて聴き終わった!すてきすぎた!!
今は再結成ZONEのリセレクト(disk2)を聴いてる。
もうやばいww
明日も朝から予定あるけど、しーらない!聴きまくるww
2011年8月7日日曜日
原点回帰
新書がすごく好きで、年間結構読んでいると思う。
そして、インターネットも好き。
なんでなんだろう?と、考えてみた。
上記2つに共通していること、
「どっちも好きになりだしたのは、2007年くらいから。」
ということ。
どっちも好きになりだした2007年くらいに、一番印象的だった新書を考えてみる。
まず、2006年に読んだ、梅田さんのWeb進化論(ちくま新書)。
あれは大学の講義関係で読んだときは、正直、あんまり何も感じなかった。
で、2007年くらいに、ふと立入った本屋で発見したものが、
梅田さんと茂木さんの対談本、フューチャリスト宣言(ちくま新書)。
まぁ正直、今内容は覚えてない(笑)
でも、これにすごく衝撃を覚えた感覚は記憶にある。
アマゾンのレビューには、あまり得られるものはないとも書かれていたけれど、それまでPCやインターネットにほとんど触れてこなかった自分には、すごく収穫があったんだろう。
そう、思えばそこから。
インターネットや新書が好きになったのは。
「フューチャリスト宣言」
まさに、未来学者によって導かれた未来。
そこでまた考える。
本当に、今のまま、ここから未来へ行きたいか?と。
答えはNoだ。
もっと知識とスキルを磨いて向かいたい。
磨きながら進みたい。磨き続けたい。
でも焦ってもいいことはない。それは今までの経験からわかる。
そして、間違いなく、今はこれから進む道を決めるところにいる。
だからこそ今はちょっと立ち返ってみるトキだと思う。
そこで、このブログの一番始めの問いがでてきた。
そしてその解の一つが、「フューチャリスト宣言」だった。
さぁ原点にもどってみよう。これからインターネットの世界で生きていきたいと考える今こそ。
そんなわけで、少しの間読書に耽ろうと思う。
強く地面に突き進む雨をみて、轟渡る雷鳴をききながら。
そして、インターネットも好き。
なんでなんだろう?と、考えてみた。
上記2つに共通していること、
「どっちも好きになりだしたのは、2007年くらいから。」
ということ。
どっちも好きになりだした2007年くらいに、一番印象的だった新書を考えてみる。
まず、2006年に読んだ、梅田さんのWeb進化論(ちくま新書)。
あれは大学の講義関係で読んだときは、正直、あんまり何も感じなかった。
で、2007年くらいに、ふと立入った本屋で発見したものが、
梅田さんと茂木さんの対談本、フューチャリスト宣言(ちくま新書)。
まぁ正直、今内容は覚えてない(笑)
でも、これにすごく衝撃を覚えた感覚は記憶にある。
アマゾンのレビューには、あまり得られるものはないとも書かれていたけれど、それまでPCやインターネットにほとんど触れてこなかった自分には、すごく収穫があったんだろう。
そう、思えばそこから。
インターネットや新書が好きになったのは。
「フューチャリスト宣言」
まさに、未来学者によって導かれた未来。
そこでまた考える。
本当に、今のまま、ここから未来へ行きたいか?と。
答えはNoだ。
もっと知識とスキルを磨いて向かいたい。
磨きながら進みたい。磨き続けたい。
でも焦ってもいいことはない。それは今までの経験からわかる。
そして、間違いなく、今はこれから進む道を決めるところにいる。
だからこそ今はちょっと立ち返ってみるトキだと思う。
そこで、このブログの一番始めの問いがでてきた。
そしてその解の一つが、「フューチャリスト宣言」だった。
さぁ原点にもどってみよう。これからインターネットの世界で生きていきたいと考える今こそ。
そんなわけで、少しの間読書に耽ろうと思う。
強く地面に突き進む雨をみて、轟渡る雷鳴をききながら。
2011年8月1日月曜日
「10年後の8月」
2011年08月。
10年後の8月がやってきました。
現在23歳。
ZONEを好きになってから、もう10年になるんだな。
この10年は、少年→青年→成年と3ステップも踏んだ10年。
いろんな人と出逢って、別れて。。。
気づけば、10年経っていたというのが本当のところ。
ここから10年は、30歳での夢に向かって突き進む10年にしようと思う。
ここまでの10年は、人格を形成する10年、
ここからの10年は、仕事を形成する10年。
少しずつ道も拓けてきた。
突き進もうと思う。
そして、ここから10年もZONEにはお世話になりそうだなw
本当にいい曲がおおい。
ZONE secret base 〜君がくれたもの〜
さてがんばろう!
memo:
secret baseのリリース日は、2001.08.08
10年後の8月がやってきました。
現在23歳。
ZONEを好きになってから、もう10年になるんだな。
この10年は、少年→青年→成年と3ステップも踏んだ10年。
いろんな人と出逢って、別れて。。。
気づけば、10年経っていたというのが本当のところ。
ここから10年は、30歳での夢に向かって突き進む10年にしようと思う。
ここまでの10年は、人格を形成する10年、
ここからの10年は、仕事を形成する10年。
少しずつ道も拓けてきた。
突き進もうと思う。
そして、ここから10年もZONEにはお世話になりそうだなw
本当にいい曲がおおい。
ZONE secret base 〜君がくれたもの〜
さてがんばろう!
memo:
secret baseのリリース日は、2001.08.08
2011年7月31日日曜日
新MacBook AirとAirDrop
約1年半ぶりの投稿。やっぱりブログは続かない。。。
ソーシャルネットワーキングのすごいところは、友人って概念を可視化してるだけで、(変な話だけど)無意識下の内に意識してしまってるとこなのか、ブログを書くという行為よりも人間に近い場所で日記やノートやつぶやきを書くって行為があるからなのか。。。いや、その二つが重なっていてこそのソーシャルだなw
まぁそんなことはいいとして、2011.07.29、ついに新MacBook Airが届いた。
かっこいい!><
13incの128GB,USキーボード。SSDもCTOしようか迷ったけど、倍で2万は高いし、前のMacBookをカスタムしたときに2週間待たされたことを考えて、今回はキーボードだけUSに変えた。。。のに!
結果、CTO扱いとなり、到着まで1週間待たされましたとさ。
まぁいいやw
ついでにケースは、AIRTEGO(エアテゴ)の白いやつ。
http://zrg-ratio.com/item/zrg-macs01.html
これもシンプルでかっこいい!!
あわせて、無印のポリプロピレンキャリアケースを買って、しばらくはこれで大学まで通おうかと。
荷物が少ないって最高です。
とりあえず、MacBookは、とにかくMacに慣れるように使い倒そうとした時代。
んで、今回のMacBook Airはとにかくプログラミングをする!という時代への突入。
がんばりますかな。
そして、Mac OS X Lionの新機能、AirDropのすばらしさに感激。
↓ファイルを送りたい側のMacで、ポチ、ポチ
↓受け取りたい側のMacで、ポチ
あと最近夜は、豆電球+ディフューザー(無印)で過ごすと最高に涼しくて作業がしやすいってことに気づいた。
そしてiPadとMacBook Airが大変に使いやすい空間にもなる!
この夏、少しずつ、お部屋をカスタムしていきーの、シンプルな生活ってのにしていこうかと。
ほんとにすてきだからね!
あー、最高!
ソーシャルネットワーキングのすごいところは、友人って概念を可視化してるだけで、(変な話だけど)無意識下の内に意識してしまってるとこなのか、ブログを書くという行為よりも人間に近い場所で日記やノートやつぶやきを書くって行為があるからなのか。。。いや、その二つが重なっていてこそのソーシャルだなw
まぁそんなことはいいとして、2011.07.29、ついに新MacBook Airが届いた。
かっこいい!><
13incの128GB,USキーボード。SSDもCTOしようか迷ったけど、倍で2万は高いし、前のMacBookをカスタムしたときに2週間待たされたことを考えて、今回はキーボードだけUSに変えた。。。のに!
結果、CTO扱いとなり、到着まで1週間待たされましたとさ。
まぁいいやw
ついでにケースは、AIRTEGO(エアテゴ)の白いやつ。
http://zrg-ratio.com/item/zrg-macs01.html
これもシンプルでかっこいい!!
あわせて、無印のポリプロピレンキャリアケースを買って、しばらくはこれで大学まで通おうかと。
荷物が少ないって最高です。
とりあえず、MacBookは、とにかくMacに慣れるように使い倒そうとした時代。
んで、今回のMacBook Airはとにかくプログラミングをする!という時代への突入。
がんばりますかな。
そして、Mac OS X Lionの新機能、AirDropのすばらしさに感激。
↓ファイルを送りたい側のMacで、ポチ、ポチ
↓受け取りたい側のMacで、ポチ
あと最近夜は、豆電球+ディフューザー(無印)で過ごすと最高に涼しくて作業がしやすいってことに気づいた。
そしてiPadとMacBook Airが大変に使いやすい空間にもなる!
この夏、少しずつ、お部屋をカスタムしていきーの、シンプルな生活ってのにしていこうかと。
ほんとにすてきだからね!
あー、最高!
登録:
投稿 (Atom)