作ってみたというよりは改造したが正解ですが(苦笑
MyMiniCityの巡回には、H.FujimotoさんのMyMiniCityサクサク巡回ツールを使わせていただいています。
しかしMyMiniCityはFlashが結構重たくて、出かけている時にAirEDGEのような遅い通信手段を使うと苦しいので巡回するのが難しくなります。
Flashを使わずに巡回するという観点では、コメントを残せないという欠点はあるもののkawadashとゆかいな仲間たちさんが公開しているmyminicityをみんなで育てるためのRubyスクリプトがありますが、これだとはてなついったー部のMyMiniCity部に登録されていない街には巡回することができません。また、Rubyはもちろんのこと、Rubygemsとhpricotが入ってないと動かないということもありました。
そこでkawadashさんのrubyスクリプトを参考にしてローカルの環境にアクセスする街のリストを持っておいて巡回するためのrubyスクリプトを作ってみました。
MyMiniCityの巡回には、H.FujimotoさんのMyMiniCityサクサク巡回ツールを使わせていただいています。
しかしMyMiniCityはFlashが結構重たくて、出かけている時にAirEDGEのような遅い通信手段を使うと苦しいので巡回するのが難しくなります。
Flashを使わずに巡回するという観点では、コメントを残せないという欠点はあるもののkawadashとゆかいな仲間たちさんが公開しているmyminicityをみんなで育てるためのRubyスクリプトがありますが、これだとはてなついったー部のMyMiniCity部に登録されていない街には巡回することができません。また、Rubyはもちろんのこと、Rubygemsとhpricotが入ってないと動かないということもありました。
そこでkawadashさんのrubyスクリプトを参考にしてローカルの環境にアクセスする街のリストを持っておいて巡回するためのrubyスクリプトを作ってみました。
rubyスクリプトの中身は下記のようになりますので、適当な名前を付けて保存してください。
※rubyスクリプトの拡張子は「.rb」です。
require 'net/http' $KCODE = 'u' # Crawling f = open("MyMiniCityList.txt" ,"r") while url =f.gets uri=URI.parse(url) begin #アクセス http=Net::HTTP.new(uri.host,80) #cookieを付けないとアクセスできないのでcookieもヘッダで渡す p http.get(uri.path+"?",{'Cookie'=>'X-Ref-Ok=1'}).message #タイムアウトした場合はもう一回アクセス rescue Timeout::Error => e puts ' caught ' + e retry end puts url end sleep 3#やりすぎるとアクセス拒否される可能性があるので、念のため3秒間ウェイト f.close
巡回する街のリストはMyMiniCity.txtというファイルに以下のようにMyiniCityの街のurlを1行ずつ書きます。
※リストのファイルパスが通っていないと動かないので上記のrubyスクリプトは適宜変更が必要
http://mhori.myminicity.com/ http://aaa.myminicity.com/ http://bbb.myminicity.com/ http://ccc.myminicity.com/ ・ ・ ・ http://zzz.myminicity.com/
私の環境ではAirEDGEでアクセスして入植者数が増えることを確認していますので、遅い回線を使っていてもちゃんと巡回が成立するのではないかと思います。コメントは残せないという欠点はありますが、使えないことはないということで。
で、使ってみようという奇特な人は巡回リストに私の街
http://mhori.myminicity.com/
を入れておいていただけるとありがたいな、と(笑
で、ここまで書いて思ったんですが、別にMyMiniCity専用ってことでもなくて、他にもアクセスすることで何かが起こるようなコンテンツなら使えるわけですね。htmlをローカルに保存しておいて後から見るなんてこともできなくはないだろうし。<プログラマじゃないのでいまいち分かってない(爆
追記:
rubyのインストールは、Ruby(Windows への手動導入)を参考にしました。
コメントする