Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

xpath

XPathの条件指定は直下以下のタグ全体を見に行く

XPathで特定の条件に合致した親を持つ要素を抽出する - Bye Bye Mooreshuzo-kino.hateblo.jp で書いた base = doc.xpath("//table[1]//tr") name = base.xpath(".//td[../../../table/tr/td[.//img]][1]") というスクリプトにつちえ、 知人から以下のように…

XPathで特定の条件に合致した親を持つ要素を抽出する

XPathでは、特定の条件に合致した親を持つ要素を抽出する事ができます。 たとえば、aタグを持つspanみたいな感じです。 実際のところ List of time zones by country - Wikipedia, the free encyclopediaから、 国名とタイトルの関係だけ取りたいとします。…

Xpathで同名要素のN番目を抽出する

Xpathで同名要素のN番目を抽出する場合…… たとえば、3番目のtdを引っ張る場合 doc.xpath("//table//tr//td[3]") といった感じで、配列風に数値をわたします。 0開始じゃないので注意です。

世界の現在時刻をNokogiriを使って把握する

仕事柄、海外との取引が多いので先方の時間が知りたくなるケースが多々有ります。 今回は、Ruby製の優秀なパーサーNokogiriと世界の時間を調べるWEBサイトTimeAndDateを併用してアレコレしてみようと思います。とりあえず実験として $ curl http://www.timea…

xmllintでCLIでもXMLをパースする

OSXやUbuntuのような*NIX系には、xmllintというXMLをパースする便利なツールがついてます 実例 $ echo '<foo><bar/></foo>' | xmllint --xpath "//foo" - <foo><bar/></foo> XPath Xpathに対応しているため、局面によっては便利につかえることもあります $ xmllint --xpath '//a/@href' vietna…

IMPORTXML関数で、XPathを使ってデータ抽出ができる

IMPORTHTML関数を使って、WEB上の表やリストからデータをインポートする - Bye Bye Mooreの記事末尾で触れたIMPORTXML関数は、XPathでタグを指定すれば任意の要素を引っ張りだすことができます。 aだのimgだのといったタグは、これを使えばよいです。 実際の…