Home > python
python Archive
[Python]CORESERVERのSSH登録を自動化する
- 2009-09-16 (水)
- CORESERVER | python | urllib
このBlogをホスティングしているCORESERVERは手頃で良いんだけど、SSH接続する前にWeb上の管理画面で、SSH接続のためホスト情報をサーバーに登録する必要があり、この作業が結構面倒くさい。一回登録すれば30日は有効なのだけど、その間に別の場所からSSH接続したいときは登録しなおさなければならない。なにか良い方法はないかなと捜していたら自動登録スクリプトを作成している方々がいました。
- coreserverのSSH登録を自動化するスクリプト – Geek Not Found
- xrea(coreserver) SSHホスト登録スクリプト – Kerosoft : Modus Operandi
要はIPアドレス、ID、パスワードなどをPOSTしてあげれば良いみたい。上のエントリーでは、ShellscriptとPerlで書かれていたので、内容を参考にしつつPythonで書きました。
#!/usr/bin/env python
# coding: utf-8
import urllib
def get_ip():
f = urllib.urlopen('http://dyn.value-domain.com/cgi-bin/dyn.fcg?ip')
ip = f.read()
return ip
def regist_host(ip, url):
userid = 'ACCOUNT'
passwd = 'PASSWORD'
keyword = u'SSH登録'
encoding = 'shift-jis'
p = [
('id', userid),
('pass', passwd),
('remote_host', ip),
('ssh2', keyword.encode(encoding)),
]
params = urllib.urlencode(p)
#print params
up = urllib.urlopen(url, params)
#print up.read()
if __name__ == '__main__':
url = 'https://ss1.coressl.jp/www.sXX.coreserver.jp/jp/admin.cgi'
ip = get_ip()
regist_host(ip, url)
一応問題なくホスト登録出来たので大丈夫だとは思いますが、使用する場合は自己責任でお願いします。Pythonのバージョンは2.6で確認取っています。useridとpasswdは各自設定したものを、urlのsXXには自分のサーバ番号を入れて下さい。
- Comments: 0
- Trackbacks: 0
[Python]ハードディスクの温度を定期的にTwitterにポストする
自宅サーバ(CentOS5.3)は極端に熱のこもる場所に設置してあるわけではないので、廃熱に関してはそこそこ大丈夫だと思っているのだけど、それでもハードディスクとかの温度は心配。そこで会社にいても状況を把握出来るように、4時間おきにハードディスクの温度をTwtterにポストしている。以下備忘録的にまとめてみた。
hddtempのインストール
まずはハードディスクの温度を計測する為にhddtempをインストールする。CentOSの場合はyumでインストール可能。
# yum -y install hddtemp
使用する時は、hddtemp disk名をタイプして実行する
# hddtemp /dev/sda /dev/sda: WDC WD10EADS-00L5B1: 39°C
hddtempの値を取得してTwitterにポストする
以下ソースコード(Pythonなのに全くインデントしてない><)
#!/usr/bin/env python
# coding: utf-8
import sys
import twitter
from datetime import *
USERNAME = "TWITTER_ACCOUNT"
PASSWORD = "ACCOUNT_PASSWORD"
DATETIME = datetime.now()
TIME_STR = DATETIME.strftime("%I:%M %p")
api = twitter.Api(USERNAME, PASSWORD)
t = sys.stdin.readline()
info = t.rstrip() + " " + "at" + " " +TIME_STR
post = u"%s" % (info)
api.PostUpdate(post)
# print post
Twitterへポストするモジュールはpython-twitterを使用。
注意した点は2つあって、1つは受け取った標準出力に改行がついてきて、そのままではTwitterにうまくポスト出来ないのでrstripしていること。もうひとつは、ポストする内容にその時刻を追加したこと(取得した温度だけをポストする場合、温度が毎回同じだとポストする内容が一緒になってしまい、Twiiter仕様上無効ポストになってしまう)
シェルスクリプトの作成
#!/bin/sh export LANG=ja_JP.utf-8 /usr/sbin/hddtemp /dev/sda | /usr/local/bin/python /usr/local/bin/hdd_info.py exit
ここでは、/dev/sdaの温度を取得し、先ほどのスクリプト(hdd_info.py)へパイプで繋いでいる。ディスク名は環境によって違うと思うので置き換えて下さい。最初どうしても°CがTwitterにポストされず困っていたのだけど、export LANG=ja_JP.utf-8を記述することでポスト出来るようになった(katsu2000xさんthanks!)
このシェルスクリプトをCronで定時実行させるとこのようになる。Twitterアカウントは本人のアカウントを使用するとTLを汚すような気がして、それ用のアカウントを作った。
[2009年9月13日追記]
twitterでフォローしているmagicalhatさんが、perlでさくっと書いてくれてトラバ貰いました。勉強になります!
[追記ここまで]
- Comments: 0
- Trackbacks: 1
[Python] Twitter in 3D on Ubigraph
先日、Twitterで知り合ったdoyaさんと実際にお会いして、互いの職歴や、地元の話、最近のWebサービスのことなど、色んな話をしたのですが、最近注目している技術やWebサービスは何かという話題で、情報を可視化出来るUbigraphの話になり、付属されているデモンストレーションを見せてもらいながら、Pythonを含めた何種類かの言語で操作が可能なこと、特にPythonで書かれたサンプルスクリプトが多く付属されていることを教えてもらった。
早速、Pythonの勉強にサンプルコードを読もうと思ったのですが、どうせならTwitterを可視化した事例がないかと調べたところ、ブラジルのChristian S. Perone氏のblogでTwitterのFollowingを可視化したTwitter3D.pyというコードを発見。
Twitter in 3D ! – Pyevolve
早速ダウンロードして、動かしてみた。
その動画がこちらです(HQ視聴がおすすめです)
ところが、どうもFollowしているのに表示されない人がいるので、Follow数をカウントしたところ、ちょうど100人。どうやらPython-twitterの仕様で100人までしか取得出来ないっぽい。
- Comments: 0
- Trackbacks: 0
がんばれ! アドミンくん の新作情報を知らせるTwitterBotを作った
- 2009-01-07 (水)
- Beautifulsoup | python | twitter
@ITで連載中の4コマ漫画がんばれ! アドミンくんは、システム管理者のありがちネタをユーモラスに描いており、とっても面白く、一服の清涼剤という感じで、第一話から欠かさず読んでいます。
今回、がんばれ! アドミンくんの新着を見逃さないように、新着情報を知らせるTwitterBotを作成しました。
- Comments: 4
- Trackbacks: 0
ラジオNIKKEI競馬実況webのNEWSを配信するTwitterBotを作りました
- 2009-01-04 (日)
- Keiba | feedparser | python | twitter
17年近く競馬をやっていた私が、結婚してからいうもの、すっかり馬券を買わなくなっていたのですが、去年の年末に東京大賞典だけ購入しました。結果は駄目でしたが、やはり競馬は面白いね!ということで、いつも予想時に参考にしているラジオNIKKEI競馬実況webのニュースをTwitterに配信するBOTを作りました。
- Comments: 0
- Trackbacks: 0
MacBookのモーションセンサーでテトリスをやってみた
- 2008-10-21 (火)
- AMSTracker | MacBook | python
昨年の11月にLet’s Note W5からMacBookにチェンジした時に、最後までMacBookとThinkpadどちらにするか悩んだのですが、Thinkpadいいなあと思ってたのはこちらの記事を以前から読んでいたから。
もちろんMacBookにも緊急モーションセンサーがあるのは知っていて、購入した時から、いつかモーションセンサーを使って何かやってみようと思っていました。で、ようやくやってみたのがこの動画です(ちょっと見難いです>< )。
このblogで数回ネタとして書いていますが、このところPythonが楽しくて、今回もぜひPythonでやろうと思い、緊急モーションセンサーの挙動をPythonで取得するものを捜してたら次のサイトにたどり着きました。 全文を読む
- Comments: 0
- Trackbacks: 0
Pythonで1日のGoogle検索履歴の一覧を作成してGmailから送信する
- 2008-09-30 (火)
- Gmail | feedparser | python | smtplib | urllib
今の私にとって(他の人もそうだと思いますが)、仕事プライベートに関係なく、Google検索は無くてはならないものですが、はたして1日にどのくらい検索しているのか知りたくて、リストを作成してみました。併せて前回のYahoo!天気情報のRSSと同様にGmailで送信しています。役に立つか分かりませんが、作成したコードを掲載します(スクリプトは何度も実行して成功しているものですが、実施は自己責任でお願いします)。尚、Google検索の履歴(Google Search History)はGoogleアカウントでログインしている状態で有効になります。
作成した時のポイントとしては
- Comments: 0
- Trackbacks: 0
PythonでYahoo!天気情報のRSSをパースしてGmailから送信する
- 2008-09-21 (日)
- Gmail | feedparser | python | smtplib
最近、Web上の色々なコードを写経したり、変更を加えたりして少しずつPythonの勉強をしていますが、今回Setomitsさんのblogで拝見した天気予報の定期送信スクリプトを自分なりにアレンジし、Gmailから送信出来るように変更してみました。パースした内容の加工は何もしていません(したいけどまだ勉強中)。使用方法は、第1引数に送信先のメールアドレス、第2引数に地域コード(静岡県中部は5010)を与えます。書いたコードは下記の様になりました。
- Comments: 3
- Trackbacks: 0
クックパッドの話題のレシピをtwitterにPOSTするBOTを作った
うちの家庭でなくてはならないクックパッドのレシピですが、ふと思い立ってクックパッドの話題のレシピをtwitterにPOSTするcookpad_recipeというBOTを作りました。よければfollowしてやって下さい。本家からクレーム入ったり、小遣いを減らされてサーバ代が払えなくならない限り続けます。
作成の経緯は、pythonの勉強をしている際にどんぴしゃな情報があったので発作的に作って、レンタルサーバにアップしちゃったというのが本当のところです。
BOTの説明
- クックパッドのメインページにある”話題のレシピ”からレシピタイトルとURLを取得します。
- レシピごとにtwitterにPOSTします。
- POSTは一日一回で、今のところ17時に実施します(夕飯の献立を考える頃合いを狙ってます?)
pythonの環境
- レンタルサーバのユーザ領域にvirtual-pythonをインストール
- python-twitterが必要(依存関係でsimplejsonも)
- HTML解析にBeautifulSoupが必要
モジュールはeasy_installがあればすんなり入ります。で、作ったBOTのコードがこちら
- Comments: 3
- Trackbacks: 0
ホーム > python
- Search
- Feeds
- Meta


