June 07, 201010:49 カテゴリwork 簡単!たった8行のコードで HTML取得&解析をするPythonスクリプト 簡単!たった13行のコードで HTML取得&解析をするPerlスクリプト を見てPythonならもっと簡単だなーと思ったので書いてみる。 import urllib2 from lxml import etree url = 'http://www.yahoo.co.jp' opener = urllib2.build_opener() opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)')] tree = etree.parse(opener.open(url),parser=etree.HTMLParser()
概要 python の皆さんはみんな使っている ipython は virtualenv を使う時に virtualenv に入っているモジュールをインポートできないことが起こります。 ipython は特に virtualenv に対応していないわけです。 ipython をグローバルじゃなくて、virtualenv 毎にインストールすると解決できるのですけど、 ipython を落とすのが重いし、PIP_DOWNLOAD_CACHE ( pipを使うべきだぞ ) を使わない限り、絶対にイライラする。 ipython と virtualenv を使う方法第一 ということで、第一方法は PIP_DOWNLOAD_CACHE を設定して、virtualenvを作る時に、virtualenvwrapper (virtualenvwrapperも使うべきだぞ)のフックを使ってipythonを自動
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 関連 : microneを使ったらApp EngineのTwitter botが14行で書けた Flaskというフレームワークを使って,Google App EngineでTwitterのBotを作ってみたら15行で書けてしまった(あと5行短くなるけど,PEP 8というPythonのスタイルガイドを破ることになるのでそこまで短くしない)。 まずはコードを見てもらいましょう。 #coding: utf-8 from random import choice from twython import core from flask import Flask app = Flask(__nam
辞書(Dictionary).appを使い倒そう¶ published: 2010-03-21 created: 2009-05-17 Mac OS X 10.4から標準で「辞書(Dictionary).app」というアプリケーションが付属しています。 名前の通り辞書ツールです。 この文書では Mac OS X 10.5以降の「辞書(Dictionary).app」の機能に関して記述しています。 概要¶ Mac OS X 10.5 からは「大辞泉(国語辞書)」、「プログレッシブ英和・和英中辞典」、「類語例解辞典」、「Apple用語辞典」、「New Oxford American Dictionary(英英辞典)」、「Oxford American Writes's Thesaurus(英語類語辞典)」、「Wikipedia」が初期インストールされています。 「Wikipedia」はインター
飽きる前にそれなりに形になったのでリリースしておきます Python 2.5*とBeautifulSoup 3.0.7* or 3.1.0*の環境でとりあえず動くXPathEvaluatorです。 アーカイブファイル(ZIP):BSXPath.py: XPathEvaluator Extension for BeautifulSoup 上記ファイル(BSXPath.py)を使ったサンプルはこちら 【2009/04/05追記】 BSXPath.pyを使ったサービスを公開しました。 任意のサイトのフィードパターンを作成・共用できるサービス 使い方 from BSXPath import BSXPathEvaluator,XPathResult #*** 準備 document = BSXPathEvaluator(<html>) # html: HTMLテキスト # ※BSXPathEvalu
ASE (Android Scripting Environment)を使って簡単にPython, Perl, JRuby, Lua, BeanShell, JavaScript (Rhino), それにシェル(将来的にはさらにたくさんのスクリプト言語)をAndroid上で実行できるのはご存じだろうか。ASEのインストールからスクリプトの作成、実行まで、すべてAndroid単体でできる。もちろん、PC上でコーディングしたい場合は、USBで繋げてPC上のスクリプトをAndroid端末上で実行することもできるし、PC上のコードをAndroid端末にコピーすることもコマンド一発だ。さらに、各種センサー、位置情報、SMS、テキストの読み上げなどもスクリプト上で操作できるというのだからこれを使わない手はない。 そこで、試しにPythonスクリプトを書いてみた。Android端末のGPS機能で緯度経度
Pythonでも所謂ジェネレータを使えます。無限数列を求めたりする例がよく紹介されていますね。 #!/usr/bin/python # -*- coding: utf-8 -*- def get_fib(): (a, b) = (0, 1) yield a yield b while True: (a, b) = (b, a + b) yield b def main(): fib = get_fib() for i in range(10): print fib.next() if __name__ == '__main__': main() ジェネレータはnext()を呼ぶ度に新しい値を返す訳ですが、例えば5回next()を呼んでからジェネレータ自身を保存して置いて、後から6回目以降を呼び出したいというのが本エントリでの話です。 要はジェネレータオブジェクトを(デ)シリアライズしたいの
Pythonでコード書いてると、1回は残念だなぁと思うポイントとして表題の件があると思います。具体的には以下です。 # リストも辞書も出力がお世辞にも良いとは言えない。。 >>> print ['あ', 'い', 'う'] ['\xe3\x81\x82', '\xe3\x81\x84', '\xe3\x81\x86'] >>> print {'title':'ねじまき鳥', 'author':'村上春樹'} {'author': '\xe6\x9d\x91\xe4\xb8\x8a\xe6\x98\xa5\xe6\xa8\xb9', 'title': '\xe3\x81\xad\xe3\x81\x98\xe3\x81\xbe\xe3\x81\x8d\xe9\xb3\xa5'} 日本語がバイト表現な上、全要素が1行で表示されています。これではちょっとprintデバッグするにも萎えますよね。複雑
最近、Google App Engine(以下GAE)で開発*1をやっているのですが、SnowLeopardにプリインストールされているPythonのバージョンは2.6で、GAEでのアプリ開発にはPython 2.5が必要なので、Python 2.5をインストールしました。 以下、やったことのログです。(走り書きですみません) Xcodeのインストール Macの統合開発環境であるXcodeをインストールします。OSのインストールメディアから。 MacPortsのインストール MacでUNIXツールを手軽に利用できるようになるパッケージ管理システムであるMacPortsをインストールします。こちらから最新版をインストール。 Python 2.5をインストール Python 2.5をインストールします。同時に使用するPythonのバージョンを手軽に切り替えてくれるツールであるpython_se
気づいたらDiskの残量がメチャ減ってるときってありますよね。Nagiosとか監視ツール使って閾値超えたら警告出すとかやってる人も居るかと思います。監視ツールはエラーの発生はログ取りするけど、日々の使用料を記録して見やすくなってないのが大気がします。大きめのファイルサーバ使っていると、今後の容量計画を行う場合は現状把握が大切です。各ドライブごとにどれくらいの容量増加傾向があるのかを知るためには、監視ツールのみだとやや物足りない感じがします。 ログる内容は、dfコマンドで表示出来る分で十分なのでコレを毎日ダンプし続けると良いかもしれないですが、やっぱり結果はグラフで見たいし、いつも最新の状態が見たいですよね。さらにグラフは、画像ファイルとかでサクっとウェブで見えたりしたらさらに便利 ということで、こんなの作ってみました。 dfで見えるようにドライブをマウントしておいて、dfコマンで出る各パラ
はじめに なにかテスト環境を作ったり、開発を行うときにパッケージをインストールしなければいけないけど、環境を汚したくないなっていうときにvirtualenvが便利だ、という話は前から聞いてたんですが必要に駆られるとときがなかったので使ってませんでした。 しかしようやくそういうときがやってきたので早速入れてみたんですがこれは便利すぎる! 参考 virtualenv, virtualenvwrapper, pip を使う方法 - Ian Lewis virtualenvwrapper のフックスクリプト - SPEAKER BREAKA pip って何(・ω・ ) - Djangoへの片思い日記 Google先生に聞いてみたら上位が全員PySpaな人でした。ちゃんちゃん。どうもありがとうございますー。 virtualenvとvirutalenvwrapperの設定 $ sudo easy_in
Skype4Py is a Python wrapper for the Skype API. It works on Windows, Linux and Mac so your scripts will work on all these platforms without any change. Its API is very simmilar to Skype4COM, it defines an identical set of classes and 99% of their methods have the same arguments. Requirements Python 2.4 or later Skype client ctypes package if using Python older than 2.5 Download and Installation
python 3.x 系及び ruby 1.9.x 系を利用したい。 とはいっても、現行のバージョン (python 2.x 系及び ruby 1.8.x 系) も必要である。 そこで、これら両方が共存できる環境を構築した。 Mac OS X の場合は非常に簡単である。 あらかじめ MacPorts で複数入れておいて、port activate/deactivate すれば必要なバージョンに切り替えられる。 Ubuntu や Debian GNU/Linux では、基本的には以下の手順で良い。 ビルド時の ./configure で --prefix=/opt/hoge のようにディレクトリを指定する。 update-alternatives にビルドしたパスを登録することで /usr/bin の下にシンボリックが作成され、複数のバージョンを切り替えられるようになる。 ただし、自分の場合
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー PythonにはPEP8という公式のコーディングスタイルがあります。このスタイルに従うことで,Pythonの思想「誰にとっても明確な手法が,一つだけあることが好ましい(There should be one-- and preferably only one -- obvious way to do it)」に沿った,見やすいコードを書くことが出来ます。 読んでみると分かるのですが,変数や関数,クラスなどの命名規則から,どこに空白を入れろとか改行を入れろとか,かなり細かく記述があります。それぞれの規則にはちゃんと理由があって,出来る限り守った方がコードが見やすくなるのは確かなのですが,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く