それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

2014-08-01から1ヶ月間の記事一覧

xmlを扱う xmllint コマンドで xpath

xpath 大好きっ娘 な takuya です。こんばんは。 xpath をもっと手軽に扱いたい xpath を扱うには、libxm2やlibxsltをruby やpython から使ってたんですが。phpのxpath は微妙だし。 コマンドラインから使おうと思ってコマンド書き始めてたら、すでにコマン…

手軽にXpathを扱うxpath コマンド

osx

OSX には、xpath というPerlで書かれてるコマンドがついてくる。 xpath コマンド。 takuya@rena:~/Desktop$ echo "<a><b><c>cccc</c></b></a>" | xpath "//c/text()" Found 1 nodes: -- NODE -- cccc このように簡単にXpathを使って試すことが出来る。便利! xpath コマンドは次の…

Radikoの再生&録音スクリプトをPythonで書きなおした

Radikoの録音スクリプトがBashで書かれていて、どういう仕組みか気になったので、Pythonで描き直ししつつ、Pythonでシェル・スクリプトを代用するために、いろいろ調べみた。 元になったBashのシェル・スクリプト https://gist.github.com/matchy2/3956266 p…

pythonで文字列埋め込み変数

pythonって文字列に変数を埋め込むのには % 記法のテンプレート文字列を使う。 name = "takuya" print " hello %s " % name 名前付きのテンプレート文字列を使う print " hello %(name)s " % { "name":"takuya" } ## %s の名前付きってことで %(varname)s 変…

pythonでファイル削除

Pythonでファイルシステムからファイルを消すには os.remove import os os.remove("/tmp/my_temp_file") 簡単ですね。os モジュールにあるので、os.remove とモジュール名をつけるのがちょっと嫌だけど 参考資料 15.1. os — 雑多なオペレーティングシステム…

pythonでhttpリクエスト-POST

python で http リクエストをPOSTする。 curl や wget をシェル・スクリプトで呼び出してもいいんだけど、urllib/urllib2 を使う方法も実現可能なのです。 import urllib import urllib2 response ={} url = "https://radiko.jp/v2/api/auth2_fms" headers =…

pythonでファイルの指定場所の指定バイトを読み込むには

あるファイルの一部分を取り出して、保存するには、ddするのが手っ取り早い dd でファイルから部分を取り出す。 offset=223 length=1024 partialkey=`dd if=test.swf bs=1 skip=${offset} count=${length} 2> /dev/null ` python でファイルを扱えば同じこと…

pythonでコマンド実行するには

シェルスクリプトの代わりにPythonで書いてみる コマンド実行をする コレを使います。 import subprocess import shlex ret = subprocess.check_output(shlex.split("date -I")).decode("UTF-8").strip() print(ret) 詳しく書いていきます。 subprocess モジ…

URLにアクセス & ファイルを保存する(http get)

Python でURLにアクセスしてファイルを保存するには urlib2 を使うのが手っ取り早い import os import urllib2 file_name = "yahoo.co.jp.html" url = "http://www.yahoo.co.jp" if os.path.exists( file_name ) : try : body = urllib2.urlopen( url ).read…

pythonで引数を取得する。

python でスクリプトを作って引数を取りたいときに引数の個数を取得するには。 import sys if len(sys.argv) < 3 : print "引数が足りません" exit() print sys.argv 実際に実行してみた結果 takuya@rena:~/Desktop$ python test.py aaa 引数が足りません ta…

pythonで実行中のプロセスID

python で実行中のプロセスIDを取得するには import os pid = os.getpid() bashの場合 pid=$$ python ってどうも、記述量が多くなるね。

python でファイルの有無確認

Pythonでファイルの存在確認をするには #!/usr/bin/env python import os if os.path.exists("/tmp/hoge.png") : print "Exists" else : print "Not Exists" print "end" os を使う。 bashの場合 if [ -f /tmp/hoge.png ]; then echo "Exists" fi

ブラウザにパスワード学習をさせると、スクリプトによる入力チェクが有害無実すぎる。

おかしなことになる。 パスワード学習させたフォームを利用すると、ドコモのサイトがおかしくなった。 ブラウザが記憶しているフォーム値を自動補完すると、スクリプト側からは読めない。 ブラウザのパスワード自動入力機能で保管されたパスワードをJSで読み…

ブラウザのパスワード学習をさせる。(後日談

サイトのパスワードの学習をオフにするのを無効化する。 パスワードを学習オフにされたサイトのフォームを学習する - それマグで! このときは、 document.querySelectorAll()なんて知らなかったので、jqueryをloadして使ってました。 Dom API だけで ブック…

ディスクイメージの容量表示と計算。HDDやSDカードなど、

HDDの容量と実際の容量が異なることはよくある話。 たとえば、8GBのディスクイメージは次のように表示される。 8GBだけど、7. 97 GBと表示される。 実際にどのような計算になっているのか fdisk をして、掛け算して計算してみよう。 takuya@rena:~/Desktop$…

Linuxのfdisk と OSX (bsd) の fdisk の読み方の違い

OSX の fdisk と linux の 実行表示結果に差異があったので、ちょっと考えてみた。 使ったディスクイメージはRaspberryPi のディスクイメージ。 linux の場合 takuya@ubuntu:~$ fdisk -l -u rasbian.img Disk rasbian.img: 16.1 GB, 16122904576 bytes 255 h…

クロネコヤマトの荷物追跡をスクレーパー

クロネコヤマトのヤマト荷物追跡のスクレーパーを作ってみた。 別にシンプルな必要なものじゃないけど、でもなんかあれば便利だと思う。 gist49f3b0fc1605f0e85000

Xpathで「条件◯◯」を子孫ノードに持つ要素を選択する

Xpathは慣れてくるとパズル・ゲームみたいで私は大好きです。 Xpathで条件としてある子孫ノードをもつ要素を探す。 古臭いテーブル・レイアウトのHTMLをスクレーパーするときに大活躍します。 Xpathの条件としては書き方もいろいろあげられますが、今回は、…

XPathで何番目を示すための方法(注意点

Xpathで何番目の要素を示す 一般的には次のように紹介されてることが多い。 /node/element[1] /node/element[2] /node/element[3] /node/element[4] これは、「兄弟ノード」siblingから選んでるところに注意が必要 兄弟として要素が並んでいるところから取り…

RaspberryPi(B)のベストなMicroSD買おうと思って検討してみた

Raspberry Pi のSDカードの出っ張りが気に入らない。割りそうで怖い。 SD カード怖い SDカードは意外と丈夫なので、気をつけておけば問題はないと思うのですが、「気をつける」という一手間が面倒だと思います。 microSD アダプタ Amazon でmicroSD アダプタ…

ユーザーのcrontabファイルの場所はどこにあるのか。

crontab のバックアップを取ろうと思った 通常のcron ファイルは、/etc/cron.*/に置かれる ユーザー毎のcrontab の実体が何処にあるのか調べたい。/var/spool/cronの中にあります。locateして見つけた /var/spool/cron/crontabs/ takuya@raspberrypi:~$ sudo…

大阪都構想が意外と良かった。

大阪都構想が出てきてた。 完全ノーマークだったし、期待してなかった。Youtubeで何気なく見てた。大阪市都構想のマニフェストは良かった。 大阪市都構想は世代間の闘争だった。 いままでは、60歳以上の投票率が、あまりにも高いので、高齢者優遇がエゲツ…

重複ファイルを探すためにファイルのハッシュをまとめて計算する

コピーしてファイルを作った人がいるので、コピーしてファイルを作ったものを探そうと思った。 怪しいファイルの拡張子だけのPathを一覧する。 find /path/to/suspicions -type f -name '*.html' md5sum をかける。 find /path/to/suspicions -type f -name …

Mac OSX でまとめてドラッグで一発印刷

OS X でプリンタにまとめて印刷したい いちいち、ファイルを開いて印刷するのが面倒でした。Windowsなら右クリックで印刷できるのに。ちょっとアレコレ調べてみたら・・・ プリンタにドラッグしてまとめて印刷 なんとプリンタのアプリがあります。ここにまと…

コマンドでtabやスペースを置換する方法

TABを置換してCSVを作りたいとしよう。TAB置換には何を使いますか? sed/awk/tr/perl/ruby 色々と考えられる。 一番楽なのは tr tr '\t' ',' tr コマンドで文字を置換するのが多分楽 takuya@atom:~$ sudo atq | tr '\t' ',' 806,Wed Aug 6 19:47:00 2014 a w…

cut コマンドでTABを指定するには

cut コマンドで区切り文字にタブが指定できない? takuya@atom:~$ sudo atq | cut -d '\t' -f 1 cut: 区切り文字に指定できるのは 1 文字だけです 詳しくは `cut --help' を実行して下さい。 TABは何も考えずに受け入れる man を読むと・・・ -d, --delimite…

Windowsにコマンドを流し込む(その他の方法

winexe というコマンド Linux側から、Windowsにコマンド実行をさせるコマンドです。認証や実行はSambaと同じやり方でやってます。winexec 関数ではないです。 winexe コマンドでwindowsに仕事をさせる winexe -U takuya //192.168.11.111 "cmd.exe " winexec…

TimeMachineに容量制限を加える(netatalk)

TimeMachineが容量を限界まで使う。 TimeMachineは容量を限界まで使って初めて過去のバックアップ削除に手を付けるようです。 しかもディスクをmountしてると、マウント元のHDDの容量をチェックしていて実際にマウントしたディスク容量をチェックできない。…

複数写真の一番簡単で最強に便利な共有方法 - 画像を pdf にしてアルバム化

送る方も、受け取る方も一番楽な写真の受け渡し方法 写真を受け渡す時に、色々とめんどくさい。Zipファイルにするのか。自己解凍形式にするのか、それとも、メールに複数添付するのか。 パスワードを付けたかったり、イベント事にまとめたかったり、サムネイ…

convert コマンドのOpenMP高負荷らしい問題

ImageMagick の openMP利用に不正確な部分があって、高負荷らしい 参考資料 OpenMP 無効の ImageMagick の RPM を作成する - akishin999の日記 OpenMP版ImageMagickの高負荷問題の最も簡単な対処法:ImageMagick:Technical tips:Media hub ImageMagickのOpenM…