読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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だのといったタグは、これを使えばよいです。 実際の…