Python/Proxy: シンプルなプロキシサーバ

クローラとかの間に挟んで使うことを想定したマルチスレッドなプロキシサーバーの試作版です.クライアントからのリクエストをさばくときに,「一つのホストに連続してアクセスするときは最低n秒空けつつ、異なるホストは並列にアクセスする」といったことが可能です.また,ダウンロードしたページを一定期間キャッシュする機能もあります.

使用例

(コマンドライン|ターミナル)上から以下のように実行してください

$ ./proxy.py
Serving HTTP on 0.0.0.0 port 8000 ...

以上のようにプロキシサーバーを起動したあとで、クローラ側のソースコードで

import os
os.environ['http_proxy'] = 'http://localhost:8000'

といった風に指定して下さい。すると、以降は環境変数http_proxyをチェックする関数(urllib2.urlopen(url)など)はこのプロキシサーバを介して通信するようになります。

ダウンロード

関連情報


Yusuke Yanbe