python

webdriverを使ってフォームの入力項目を埋めるライブラリをgithubに置いてみた

GitHub - fn7/form.py: webdriverでfillFormするよpythonのパッケージってあまり作たことないのですごく適当な仕上がりだ。 __init__.py なにそれ テストコード => sample.py実行して目視でよろ。サンプルのフォームは適当に作ってw [追記]テストコードは後…

webdriverを使ってみる

pythonをしばらく触ってなかたのでリハビリする気持でseleniumのあたらしいwebdriverをつかってみる。 Webアプリケーションのテストにこれから使っていきたいが、まずは初歩の初歩から、、、( ̄∇ ̄ ) ステータスバーの右側に「WebDriver」と表示されている…

リスト内包表記スゲー

今さらながら、リスト内包表記のスゴさに触れたので記録しとく。perlの場合、 @a = (0..9); # 0から9までの数値を要素とした配列 @b = map {$_ * 2} (0..9); @c = map {$_ * 2} @b; @d = grep {$_ % 3 == 0 and $_ % 5 == 0} (0..99); # 0〜99までの 3と5の…

xrangeはなくなるそうだ

xrangeはrangeに似ているが、rangeがリストを返すのに対してxrangeはxrangeオブジェクト(generatorのようなもの)を返す。 2008年12月4日、Python 3.0がリリースされたそうだが、rangeでgeneratorを返すようになったのでxrangeの必要性がなくなったそうだ。ge…

Appleのカレンダーライブラリの祝祭日を処理する

当初はGoogleCalendarの日本の祝祭日を処理しようと思っていたのだが、Appleが公開しているiCalの方が良いらしい。 必要なライブラリ icalendar dateutil (httpでデータを取得する場合にはurllib2等が必要)iCalendar形式についてはこちらを参照振替休日につ…

GAEからim.kayac.comを使ってGmailの新着をPush通知

Gmailの新着がAtomフィードとして提供されていることを知ったので作ってみました。Push通知を受けとるアプリもiTunesStoreで販売されていますが、メールの内容をPush通知させるということは外部のサーバにメールの内容(一部?)を送信しているということになる…

Yahoo

Yahoo!デベロッパーネットワークの日本語形態素解析を使って形態素解析をするクラスを作ってみた。 関数の引数にはデフォルト値を使って、URLやnamespaceはクラス変数に持たせるようにしてみた。 # coding: utf-8 from urllib2 import urlopen from urllib i…

短縮URLサービスbit.lyを使う

twitterのような140文字制限のある文章内にURLを入れたいときには、短縮URLを使うのが常識だ python使ってbit.lyの短縮URLを取得するスクリプトを書いてみた。 json形式とXML形式での取得が可能のようだが、今回はJSONを処理することにする。 # coding: utf-…

WebAPI使う基本 「ひとがご」のGoogleサジェスト結果を取得する

URLエンコード URLエスケープともいう。 from urllib import urlencode param = { 'hl':'ja', 'q': 'ひとがご', 'output':'toolbar', } encoded_param = urlencode(param) outputを止めて、'callback':'callback_func'にすると、callback_funcが指定されたJS…

GoogleAppEngineのcronを使って

携帯百景に投稿した写真をはてダに投稿するスクリプトを書いた。 以前までは、XREAの有料サービスを使用して、cronで動かしてた。それはperlでHTMLのスクレイピングをして、shellのmailコマンドで投稿するものだった。 今回設置したのは以下のソース。 #!/us…

XPathでnemaspace付きの処理を行いつつベンチマーク

media:contentというタグが携帯百景のRSSのなかに含まれていたので、namespace付きのタグをXPathで処理をする勉強ついでにtimeitしてみた。 今回はXMLのparse処理もベンチマークに含めている。 import timeit from lxml import etree as lxml_etree from xml…

XPathベンチ

以下のようなベンチマークスクリプトを書いてみた。もっとスマートな方法でベンチマークできるといいな。 #-*- encoding: utf-8 -*- from xml.etree import ElementTree from lxml import etree from time import time def xpath_by_xml(fname): x = Element…

URLアクセスをおこなってXPathで処理を行うサンプル(lxml版)

pythonでXpathをするならlxmlの方が良いという噂なので、やってみた。 libxml2のインターフェースということなので、激速とのこと。 #-*- encoding: utf-8 -*- # URLアクセスをおこなってXPathで処理を行うサンプル(lxml版) import urllib2 from lxml import…

URLアクセスを行ってXPathで処理を行うサンプル

#-*- encoding: utf-8 -*- # URLアクセスをおこなってXPathで処理を行うサンプル import urllib2 import StringIO from xml.etree import ElementTree r = urllib2.urlopen('http://movapic.com/feed/user/fn7') # エラー処理はしない if(r.code != 200): ex…

URLアクセスをおこなってDOMで処理を行うサンプル。

#-*- encoding:utf-8 -*- import urllib2 from xml.dom import minidom r = urllib2.urlopen('http://movapic.com/feed/user/fn7'); if(r.code != 200): exit(0) doc = minidom.parseString(r.read()) for item in doc.getElementsByTagName('item'): link =…

いいね

「{}」がないから短いコードになるし、自然と見やすいコードになる。標準ライブラリも便利なものが揃ってる。辞書(ハッシュ)や配列もあるし、関数の引数の取り方指定もとても良いと思う。スクリプトをぱっと書けるのは、まだshellとperlくらいだけど、そのう…

Observerパターン

Wikipediaそのまんま。 class Observer(): def __init__(self,observable,config={}): observable.register(self) self.config = config def update(self,param={}): print param class Observable(): def __init__(self): self.observers = [] def register…

いや、ぱっと見なんだけどね、、

pythonに興味が移った。 「インデントでブロックを表す」って用は箇条書きみたいに書けるってことで、これ最強なんじゃない?? # a == b のときは OK そうでないときは BAD を表示 if a == b: print "OK" else: print "BAD" # 関数tt とは、test を出力する d…