Tag/Python
Django1.0リリース
出たなー
色々やらないとね
- Posted at:
- 2008/09/05 01:34:34
- 0 Comments
- 0 TrackBacks
- Trackback:
- http://kishi-r.com/2008/09/05/django_release/trackback/
GoogleCodeからjqueryに関連するものを引っ張ってこようっと(その1)
とりあえずGoogleCodeにアクセスして、最初のページのURLとタイトルを持ってくる。
# vim: encoding=utf-8 :
import urllib2
from BeautifulSoup import BeautifulSoup
GOOGLE_CODE_URL = 'http://code.google.com/hosting/search'
def get_google_code_list():
search = '?q=jquery&projectsearch=Search+Projects'
url = GOOGLE_CODE_URL + search
opener = urllib2.build_opener()
r = opener.open(url)
soup = BeautifulSoup(r)
list = {}
for div in soup('div', {'class':'name'}):
for a in div('a'):
list[a.string] = a.get('href')
return list
1.まずはGoogleCodeのサイトにアクセスしてjqueryで検索を掛ける。
2.それをBeautifulSoupでパースして「URL」と「タイトル」のセットをリストへぶち込み
3.それをpirntして確認
{
u'jquery-ajaxq\n - AJAX request queueing for jQuery': u'/p/jquery-ajaxq/',
u'jquery-lightbox\n - Lightbox style effects in a jQuery plugin': u'/p/jquery-lightbox/',
u'jquery-em\n - Monitor Font Size Changes with jQuery': u'/p/jquery-em/',
u'jquery-flickr\n - jQuery Flickr plug-in is a JavaScript interface for Flickr Services AP...':
u'/p/jquery-flickr/', u'jquery-color-utils\n - jquery-color-utils': u'/p/jquery-color-utils/',
u'jquery-domec\n - jQuery DOM elements on-a-fly': u'/p/jquery-domec/',
u'jquery-session\n - Simulate session vars in jQuery': u'/p/jquery-session/',
u'jquery-decorated\n - jQuery plugin to transform simple HTML components into more complex on...': u'/p/jquery-decorated/',
u'jquery-aop\n - Aspect Oriented Extensions for jQuery': u'/p/jquery-aop/',
u'jquery-dropj\n - A jQuery plugin to add drop caps (large floating initial capital lette...': u'/p/jquery-dropj/'
}
とりあえず出来たので、次はページがあるまで取得するのをやるが・・・明日にするかなw
・全ページのデータを取得してDBにて管理
・以前のデータと比較して更新されていればアップデート、そうでなければ何もしない
・もしURLもしくはプロジェクトが存在しなければ、削除フラグを立てて、更新しなくする
というのをCronに登録しておけば、自動的にどれが更新されているかとかが解るリストが作れるな。
- Posted at:
- 2008/08/07 23:57:27
- 0 Comments
- 1 TrackBack
- Tags:
- Python
- Trackback:
- http://kishi-r.com/2008/08/07/google_jquery_1/trackback/
[pyspa]温泉行ってきました
移行した時にエントリーを追記するの忘れてたw
なのでもう一度書いておこうっと。

Getしました。
一人分足りないですがorz
今回は参加されないとの事でした。
来ている方からは頂きました。
うれしいっすなぁ〜。
サインを書いて下さったみなさん、ありがとうございました!

温泉ではブログをPicoLogへ移行して、
まだドメインの移管など残タスクがあるので、
これ以降はあまり書きたくないなw
幹事のVoluntasさんとkuma8さんお疲れ様でした。
そしてありがとうございました。
- Posted at:
- 2008/07/08 17:36:28
- 0 Comments
- 0 TrackBacks
- Trackback:
- http://kishi-r.com/2008/07/08/pyspa3/trackback/
Python「lxml」でAmazonAPIを使ってみた
やってみた。
おもしろかった。
だけどもっとレスポンスが速い方法があるはず。
誰か教えてw
下記にまとめてみた。
http://pod-head.net/wiki/amazonapi_python
早くブログを移行したいけど、
時間が余りないせいか、自分自身にゆとりがないので、
出来てないorz
- Posted at:
- 2008/04/01 23:17:43
- 0 Comments
- 0 TrackBacks
- Tags:
- Python
- Trackback:
- http://kishi-r.com/2008/04/01/pythonlxmlamazonapi/trackback/
昨日はスノボー、今日はPythonNerima
昨日は、
前の会社の人たちと湯沢の神立へスノボーしに行ってきた。
楽しかった!
来年は泊まりだな。って言ってた。
なんならマイクロバス借りてみんなで、
行けたらおもしろいかも。
いつもはクアハウスで温泉に入って休憩所でのんびりしてから、
寝るのだが・・・
やってねー!
なんか暗いからおかしいと思ったんだよねw
しょうがなく近くの健康ランドへGO!
けっこうぼろいけど、
ちゃんと寝られたからよかった。
(すげ〜イビキかいているやつがいたけど・・・。)
ゲレンデのコンディションはそれなりに良かった。
(春スキーだけどと言うことで。)
天候は微妙だったが、
かなりの本数を滑れたのが、
なによりですね。
筋肉痛も軽くあるぐらいで、
思ったよりも全然動ける。
良かったよぉ〜。
今日はPython練馬って事で、
練馬区練馬で飲んできた。
集まったのは、
@MiCHiLU
@aohta
@kishir(自分)
の合計3人。
人数は少ないけど、
多いと誰と喋ろうかすごい迷って、
あまり話せないので、
良かった。
軽い感じで日常会話っぽいのも
なんか新鮮だったな〜。
技術のことよりも、
雑談って感じかなw
後、
みんな練馬に来れば良いよ。
良いところだよ。
なんなら大泉学園にも来れば、
最高にうまい焼鳥屋があるんだけどな。
(近いと自分が帰るのが楽だからってのが重要w)
さて、
今日はまだ作業が残っているのでやらないと。
本当はドラゴンボールGTを見たいけど、
我慢、我慢。
- Posted at:
- 2008/03/31 00:00:43
- 0 Comments
- 0 TrackBacks
- Trackback:
- http://kishi-r.com/2008/03/31/pythonnerima/trackback/
PyhonでYahooAPI関連検索を試してみた
Yahoo!デベロッパーネットワーク
というページがあり、
ここにはウェブ検索や画像検索などのAPIの
詳細が書かれている。
関連検索ワードWebサービスは下記から。
http://developer.yahoo.co.jp/search/webunit/V1/webunitSearch.html
使用するのには、
アプリケーションID
が必要みたいなので登録した。
後気をつけなければいけないのが、
関連検索ワードWebサービスは、
24時間中1IPアドレスにつき50000件のリクエストが上限となっています。
なるほど。
お金を払って商用とかに使えるのかな?
今度聞いてみたいな。
今回は以前使用した「BeautifulSoup」を使って、
早速やってみる。
(nobuさんにlxmlで良くない?って言われてたな。。。今度はそっちでやってみよう。)
>>> 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'<br />
>>> yahoo_query = 'u&amp;amp;amp;amp;amp;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
実際に取得した値を表示させるとこんな感じ。
< ?xml version='1.0' encoding='utf-8'?>
monty python
colt python
python インストール
python 制限
python cgi
python 入門
python ダウンロード
<!-- pls139.search.tnz.yahoo.co.jp uncompressed/chunked Thu Feb 14 23:52:57 JST 2008 --><br />
<!-- ws0.search.bbt.yahoo.co.jp uncompressed/chunked Thu Feb 14 23:52:57 JST 2008 --><br />
<result>の部分のみを取得する。
>>> yahoo_obj = []
>>> for yobj in yahoo_soup.findAll('result'):
... yahoo_obj.append(''.join([str(t) for t in yobj.contents[:]]))
こんな感じかな。
とりあえず取れた。
- Posted at:
- 2008/02/14 23:13:16
- 0 Comments
- 0 TrackBacks
- Tags:
- Python
- Trackback:
- http://kishi-r.com/2008/02/14/pyhonyhooapi/trackback/
Pythonではてなダイアリーキーワード自動リンクAPIを試してみた
はてなダイアリーキーワード自動リンクAPIを
今作成中のブログに使えないか考えてたので、
試してみた。
サンプルは、
Perlしかなかったので、
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<
<a>はてな</a>で<a>スケボー</a>や<a>レコード</a>などを検査するとどんなレスポンスが返ってくるのだろう?
指定するパラメーターなどははてなに記載されていました。
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
です。
これをブログに組み込んだら面白いかな?
と考え中です。
- Posted at:
- 2008/02/09 00:15:39
- 0 Comments
- 0 TrackBacks
- Tags:
- Python
- Trackback:
- http://kishi-r.com/2008/02/09/pythonapi/trackback/
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": {
"http://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を加えると増えるのだが、
それも良くわからないなぁ~。
もうちょっと試してみるかな。
- Posted at:
- 2008/02/04 18:24:01
- 0 Comments
- 0 TrackBacks
- Tags:
- Python
- Trackback:
- http://kishi-r.com/2008/02/04/social_graph_api_python/trackback/
PythonでBeautiful Soupを試してみる。
PythonでHTMLの解析を行うのによさそうだったので、
試してみることにした。
まず必要なのが、
BeautifulSoup
まずインストール(ってかファイルをPythonが読める場所にBeautifulSoup.pyを置くだけ。)
ここからダウンロードする。
それを今回は「site-packages」の下に置いてみた。
清水川Webを参考にさせてもらったためです。
やってみます。
>>> import urllib2
>>> opener = urllib2.build_opener()
>>> html = opener.open('http://kishi-r.com/2008/02/ubuntu_1.html').read()
>>> print html
ここでBeautifulSoupを使って「title」のみを解析してみます。
>>> from BeautifulSoup import BeautifulSoup
>>> soup = BeautifulSoup(html)
>>> soup.find('title',)
<title>kishi-r.com: Ubuntuをインストールしました。</title>
他にも「td」を検索してみる。
>>> soup.findAll('td',)
[<td>
</td>, <td>
</td>, <td>
</td>, <td>
</td>, <td>
</td>, <td><span class="today">
<a href="http://kishi-r.com/2008/02/01/">1</a>
</span></td>, <td><span class="calendar">
2</span></td>, <td><span class="calendar">
3</span></td>, <td><span class="calendar">
4</span></td>, <td><span class="calendar">
5</span></td>, <td><span class="calendar">
6</span></td>, <td><span class="calendar">
7</span></td>, <td><span class="calendar">
8</span></td>, <td><span class="calendar">
9</span></td>, <td><span class="calendar">
10</span></td>, <td><span class="calendar">
11</span></td>, <td><span class="calendar">
12</span></td>, <td><span class="calendar">
13</span></td>, <td><span class="calendar">
14</span></td>, <td><span class="calendar">
15</span></td>, <td><span class="calendar">
16</span></td>, <td><span class="calendar">
17</span></td>, <td><span class="calendar">
18</span></td>, <td><span class="calendar">
19</span></td>, <td><span class="calendar">
20</span></td>, <td><span class="calendar">
21</span></td>, <td><span class="calendar">
22</span></td>, <td><span class="calendar">
23</span></td>, <td><span class="calendar">
24</span></td>, <td><span class="calendar">
25</span></td>, <td><span class="calendar">
26</span></td>, <td><span class="calendar">
27</span></td>, <td><span class="calendar">
28</span></td>, <td><span class="calendar">
29</span></td>, <td>
</td>]
このBeautifulSoupを使った記事でおもしろそうだったのが、
Googleニュースで指定した単語を検索して、ヒット数を返すサンプルなどがありました。
とりあえず試してみようっと。
- Posted at:
- 2008/02/04 11:51:27
- 0 Comments
- 0 TrackBacks
- Tags:
- Python
- Trackback:
- http://kishi-r.com/2008/02/04/pythonbeautiful_soup/trackback/
Pythonでtwitterを試してみたっす。
周りがtwitterを使っていて、
気になったので使ってみた。
twitter自体あんまりやる気が無く、
全く使用していなかったが
Pythonでならって事で触れてみた。
試すのに必要なのが下記。
こちらは「カノエメモ」を参照。
・ simplejson
・ python-twitter
でsimplejsonをインストール。
(Djangoが入っていたので今回はそちらを使用したっす。)
$ sudo /usr/local/python25/bin/easy_install-2.5 -U -Z simplejson
で入るのかな?
python-twitterもインストール
$ sudo easy_install python-twitter
で入りました。
実際に試してみる。
>>> import re
>>> import twitter
>>> api = twitter.Api(username='testname', password='testpasswd')
>>> status = api.PostUpdate(u'早くスノボーに行きたいなぁ~')
こんな感じで更新された。

でもちょっとAPIを通すと更新される速度が遅いなぁ~。
後は、
やっぱりタイムラインを取得したいので試してみた。
kuma8さんのサイトに記載されていました。
>>> ft = api.GetFriendsTimeline()
>>> for f in ft:
... print '%s: %s' % (f.user.screen_name, f.text)
....
kishir: 早くスノボーに行きたいなぁ~
soundkitchen: @kishir あーてすてす
kishir: もう少ししたら休憩行く
kishir: Pythonでtwitterを試してみる
kishir: Googleの関連検索を調べてみる。
yoshuki: うまい棒 ウマー
soundkitchen: 朝ご飯。朝ご飯。
soundkitchen: 生活のリズム壊れてるなー。
soundkitchen: ようやく起床。
soundkitchen: ご飯を食べよう。
soundkitchen: ご飯は何を食べようかなぁ?
soundkitchen: 腹減った。
soundkitchen: 抜群にあったまった!
soundkitchen: お風呂はいってあったまる。
こんな感じっすね。
次に自分のタイムラインのみを取得してみる。
>>> for g in gut:
... print '%s' % (g.text)
..:
...
早くスノボーに行きたいなぁ~
もう少ししたら休憩行く
Pythonでtwitterを試してみる
Googleの関連検索を調べてみる。
これから渋谷です。
http://tinyurl.com/yvvmrd
にしてみようかなぁ~。
MacMiniより安くて手ごろだし。
GoogleGearsを試したよ~。
取れた、取れた。
これを自分のブログとかに表示出来るように
実装してみるとおもしろいかも。
他にもtwitter.pyを見ると
>>> api.PostDirectMessage(user, text)
>>> api.GetUser(user)
>>> api.GetReplies()
>>> api.GetUserTimeline(user)
>>> api.GetStatus(id)
>>> api.DestroyStatus(id)
>>> api.GetFriendsTimeline(user)
>>> api.GetFriends(user)
>>> api.GetFollowers()
>>> api.GetFeatured()
>>> api.GetDirectMessages()
>>> api.PostDirectMessage(user, text)
>>> api.DestroyDirectMessage(id)
>>> api.DestroyFriendship(user)
>>> api.CreateFriendship(user)
なんてものがあったので、
色々と出来そう。
ちょこちょこ試してみようっと♪
- Posted at:
- 2008/01/22 16:39:24
- 0 Comments
- 0 TrackBacks
- Tags:
- Python
- Trackback:
- http://kishi-r.com/2008/01/22/pythontwitter/trackback/

