2011-10-14
サイトのhtmlをXmlSlurperで処理する
Groovy | |
![]()
最近ではxhtmlでかかれたサイトが多くなったが、サイトのhtmlがxhtmlであることを前提にXmlSlurperで処理しようとすると時々固まってしまう。正しいxhtmlでかかれていない箇所があったりするからだ。
また、DTD定義を探しにいくが、見つからずにエラー、といったこともある。
そこで xhtmlを読み込む前に事前処理を行うことで、サイトのxhtmlを XmlSlurper で処理できる。
#!/usr/bin/env groovy @Grapes( @Grab(group='net.sourceforge.htmlcleaner', module='htmlcleaner', version='2.2') ) import org.htmlcleaner.* def address = 'http://groovy.codehaus.org/' def cleaner = new HtmlCleaner() def node = cleaner.clean(address.toURL()) // htmlをxmlに変換 def props = cleaner.getProperties() def serializer = new SimpleXmlSerializer(props) def xml = serializer.getXmlAsString(node) // DTDの妥当性検証を実施しない設定 def page = new XmlSlurper(false,false).parseText(xml) ...
ここから先は以下のサイトを参考に page 変数に対して好き勝手にごにょごにょしてあげればOK。
(僕はXmlSlurperの使い方になれず未だに以下のサイトを手放せない)
Groovy - Reading XML using Groovy’s XmlSlurper
参考
Ubuntuでログイン後、.Xmodmapが読み込まれずに困っている場合
Ubuntu | |
![]()
家にはUbuntuマシンが3台あるのだが、1台だけxdmでログイン後、.Xmodmapが自動的に読み込まれずに困っていた。
$ cd $ ll .Xmodmap $ lrwxrwxrwx 1 genzou 26 2011-09-12 23:39 .Xmodmap -> myconfig/.Xmodmap # myconfigで各種設定ファイルを一元管理している
しかたがないのでログイン後毎回以下のコマンドを叩いていた。
$ cd $ xmodmap .Xmodmap #.Xmodmapを読み込み
ちょっとググったら、ずばりの対応方法がかかれていた。
Ubuntu 9.04 でキー割り当て(キーボード配列)を変更 - 起動時に .Xmodmap が自動で読み込まれないときは? - 彼女からは、おいちゃんと呼ばれています
ちょいちょいこのgconf-editorなるものを触って設定を書き換える機会が発生するが、Linux的じゃないような気がしてならない。



ありがとうございます。修正しておきました!
Facebookに登録するには、こちらをクリックしてください。
http://www.facebook.com/r.php?re=fae14ef9a92a0eb65c8a86be44c6e103&mid=5dfa65cG5af3e2d4890dG0G46&key=AQAKrz3Tm4AIZNfqPwnPxsyWf8Tb5geJFVzSimJFm-VOw_2IL1jbxS_wdu0T4opQe4oxGjhlZVKvq1oq&invid=1471943979
=======================================
こんにちは
次の人からFacebookの友達になりませんかという招待がありました。
Toshiaki Wakabayashi (Invite sent: Feb 27, 2012)
Facebookでは友達と連絡を取ったり、写真や動画を投稿したり、イベントを企画したりできます。まずは登録してみてください。自分のプロフィールを作って、友達や家族と情報をやり取りしましょう。
よろしくお願いいたします。
Facebookチーム
Facebookに登録するには、こちらをクリックしてください。
http://www.facebook.com/r.php?re=fae14ef9a92a0eb65c8a86be44c6e103&mid=5dfa65cG5af3e2d4890dG0G46&key=AQAKrz3Tm4AIZNfqPwnPxsyWf8Tb5geJFVzSimJFm-VOw_2IL1jbxS_wdu0T4opQe4oxGjhlZVKvq1oq&invid=1471943979
=======================================
このメッセージはd-comment+i3ta9i51xw.115830729@hatena.ne.jp宛てに送信されました。 今後Facebookからこのようなメールを受け取りたくない場合は、以下のリンクから配信を停止することができます。
http://www.facebook.com/o.php?k=38e1f0&u=100003529132301&mid=5dfa65cG5af3e2d4890dG0G46
Facebook, Inc. Attention: Department 415 P.O Box 10005 Palo Alto CA 94303