クローラとかの間に挟んで使うことを想定したマルチスレッドなプロキシサーバーの試作版です.クライアントからのリクエストをさばくときに,「一つのホストに連続してアクセスするときは最低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)など)はこのプロキシサーバを介して通信するようになります。
ダウンロード
関連情報
A list of open-source HTTP proxies written in python
- Pythonで書かれた色々なProxyサーバーが詳細に紹介されています.より完成度の高い,汎用のProxyサーバーをお探しの場合はこちらが参考になるかと思います