AMDに続いてIntelもクロック表示ができなくなったっていう話です。Intelの場合は政治的な話みたいですが。
さて、これでクロックによるCPUの比較ができなくなるわけですが、じゃあ何を持って比較すれば良いのか?おいらにはわかりません(あぅ。
じつはIntelがモデルナンバーを採用って話はどうでも良いんですが、SUNのWSを触るようになってから(大学2年の時)、x86アーキテクチャとSPARCって構造的に何が違うのかという事に興味が出ました。そのころはSolarisの管理にいっぱいいっぱいで調べる気力は無かったのですが。
しかし、そういう比較をした情報ってのはweb上にはなくて、難しい話なのかなぁと思ったり。最近はCPUやアセンブラについての本も結構あるので、ハードウェアに手を出すついでにx86に関する本や、RISC(mips)についての本を読んでみようと考え中
webから情報拾ってくるところは後にして、メールを投げるpythonスクリプトは以下でいけそう。日本語について何も考えて無いのでちゃんと調べないといかんけど。
import smtplib
server = "192.168.99.99" # smtpサーバのホスト名
from_addr = "xxx@from.com"
to_addr = "xxx@to.com"
msg = ("From: %s\r\nTo: %s\r\n\r\n" % (from_addr, to_addr)) + "contents"
smtpserv = smtplib.SMTP(server)
smtp.sendmail(from_addr, to_addr, msg);
まぁpythonのライブラリリファレンスのまんま。定期的に送るのはcronを使うことにする。
さて、メールで送る内容を取得・処理する側の話。過去に何度か調べてはダルそうで躊躇してきたpythonのHTMLParserライブラリ。躊躇してきた理由は、標準ライブラリのHTMLParserを拡張して処理をさせるっていうのがすげぇ面倒臭い。大体、HTMLを扱いやすいように構造化させるのっていかにも既に作られていそうだったし。
まずはlibxml2がどうやらちゃんとしてないHTMLでも解析してくれるらしいのでlibxml2のpythonバインディングを使ってxmlのように扱ってみることにした。参考にしたのは以下のサイト
上のサイトを参考に、以下のようなスクリプトを書いた。
import urllib2
import libxml2
f = urllib2.urlopen('http://www.hatena.ne.jp')
html = f.read()
f.close()
doc = libxml2.htmlReadDoc(html, '', None,
libxml2.HTML_PARSE_RECOVER +
libxml2.HTML_PARSE_NOERROR +
libxml2.HTML_PARSE_NOWARNING)
links = doc.xpathEval('//a')
for link in links:
href = link.xpathEval('attribute::href')
if len(href) > 0:
href = href[0].content
print href
doc.freeDoc()
が、何も表示されない。htmlReadDoc()の出力はxmlDocのオブジェクトだけど、中身が何も無い。htmlReadDoc()の引数いじったり、英語のサイトでやってみたり、すごい単純なhtmlファイルをローカルに作ってやってみたりしたけど結果は皆同じ。で、作ったすごい単純なhtmlファイルをxmlファイルとして、xmlPasreDoc()で読ませたらうまくいった。が、これでは意味が無いのでlibxml2を使うことは止めにして他のを探すことにした。
探していたら、Beautiful Soupというライブラリがあり、しかもすごい使い易そうというわけでこっちを使うことに。どんなことができるのかは、以下のサイトを見ればわかるかと、もしくはBeautiful Soupのクイックスタート。
htmlタグのname、attrをキーに簡単にアクセスできるし、要素を辿るためのメソッドも揃ってる。ドキュメントを読みながら電車の中で現在試してるところ。これでいけそうだ、っていうか十分。
portageで配布されているので、家の環境にはこっからインストール、ありがとーGentoo。ノートのVine上ではpython関連はvineのaptでは管理しないという方針でそのままインストール。