Aug 19, 2010

iPhoneのパケット料金を取得するためのPythonコード

iPhoneのパケット料金をMy SoftBankからスクレイピングしてくるPythonコードを書いた。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import yaml
import mechanize
import re

# setup
print 'setup...'
conf = yaml.load(open('config.yaml'))
br = mechanize.Browser()
br.set_handle_refresh(True)
br.addheaders = [('User-agent', 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20')]

# login
print 'login...'
br.open('https://my.softbank.jp/msb/d/top')
br.select_form(nr=0)
br['msn'] = conf['userid']
br['password'] = conf['password']
br.submit()

# jump to mainmenu
print 'jump to mainmenu...'
br.open('https://my.softbank.jp/msb/d/webLink/doSend/WCO010000')

# jump to bill_before_fixed
print 'jump to bill_before_fixed...'
br.open('https://bl11.my.softbank.jp/wco/billBeforeFixed/WCO020')

# packet fee
html = br.response().read().decode('cp932')
fee_total = 0
r = re.compile(u'通信料.+?([0-9,]+)円')
for fee in r.findall(html):
  fee_total += int(re.sub(',', '', fee))
print fee_total

下のように、config.yamlにMy SoftBankのユーザID(電話番号)とパスワードを書いておくとか、コード見れば分かるよね。

userid: 080XXXXXXXX
password: your-password

要は下のコードの前半部分をPythonで書き直したもの。

Twitterにパケット代を投稿するpacketterを、My SoftBankがリニューアルしたのでまた更新 - 今日覚えたこと

後はtwitterに投げるなりApp Engineに組み込むなり好きに書けばいい。

追記: モジュール化してgithubに上げた。

http://github.com/ogawa/py-iPhone-Packeteer

Aug 12, 2010

TOSHIBA REGZA 32R1

遅ればせながら小川家も地デジ対応した。32インチで55,000円弱。エコポイントが12,000。1インチ1万円時代からずいぶん遠いところに我々はたどり着いてしまったようだ。

このエントリでは相当今更感のある地デジテレビに関する感想を述べる。

REGZA 32R1は実にコストパフォーマンスの良い、保守的なモデルである。私はテレビに関してはこういう保守的なモデルが大好きだ。倍速とか電気を食うだけだし、LEDバックライトの部分調光も信用していない。そもそもデバイス特性の問題を周辺技術でカバーしよう、それを付加価値として売ろうという考え方が全然気に食わない。どう考えても容易に陳腐化し得る技術に金を払う気になれないのだ。

REGZAの録画機能に対するアプローチも好きだ。時間的制約から撮りためた番組の一割でも消化できれば十分という視聴者にとっては、長期間保存や編集のための機能は不要である。こうした需要をREGZAは最小構成で安価に満たせる。これは常にシステムをシンプルにそしてチープに維持したいと考えている私にとっては大きな利点だ。

一方でデジタルテレビ一般ということに関しては、映像が綺麗だとか、多チャンネル化でTwellVで千葉ロッテや埼玉西武の主催試合が観られて嬉しいだとか、素朴にして絶大なメリットもある反面、道具としての完成度は正直アナグロテレビに比べてかなり劣るのは否めない、という書かずもがなのことを書かざるを得ない。どう考えても操作が面倒過ぎてダラダラ付けっぱなしの人が増えるんじゃないかと思える。というより、そういう視聴スタイルの人が多いのでこの程度の完成度でも大して問題にならないように見えるだけかもしれない。

特にテレビと一体化されたブロードバンド機能は諸悪の根源ではないか。控え目に言い直そう。デジタルテレビになぜか標準搭載されているアナログチューナーと同程度に蛇足感が強い。リモコンでのユーザインタフェースの成熟までは搭載を見送ろうという判断ができないものか。オープンな規格だから某Lモードほど簡単に消え去ってはくれない上、ペアレンタルコントロールだ何だでどんどん複雑になるのも目に見えている。DLNAプレイヤー機能と合わせて適当なメディアプレイヤーボックスに分離・隔離するか、メニューに金輪際表示されないようにするステルス機能を付けてほしい。

機能を盛り沢山にしている反面、基本的な作り込みができていないのも気になる。詰めが甘いとかいうレベルですらない。データ放送は先読みしてモッサリしないようにするとか、二度目に観るときにはキャッシュを参照しているのに描画が異常に遅いのを何とかするとか、ステータス表示が無駄に小さい字でしか表示できない(モニターの1〜1.5m前に常に視聴者は座っているという強固な信念というか執着というか妄想に裏打ちされた不親切設計)のをユニバーサルなものに切り替えられるようにするとか。

いろいろ書いたけど、かなり気に入ってるよ(笑)

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com