[#46441] Hpricot#search の使い方 — "T.Soejima" <clev@...2.so-net.ne.jp>
そえじまです。
7 messages
2009/10/08
[#46450] String#bytesizeの対応について — "T.Soejima" <clev@...2.so-net.ne.jp>
そえじま@勉強中です。
5 messages
2009/10/14
[#46455] 京都女子大学の公開講座でまつもとさんの講演 — "Hideo Konami" <konami@...>
京都女子大学の小波です。
4 messages
2009/10/15
[#46460] ¥n の改行コマンドが効かない — askar <askar75@...>
初めまして、アスカルと申します。
9 messages
2009/10/18
[#46469] encodingに関する問題? — askar <askar75@...>
お世話になっています。アスカルです。
8 messages
2009/10/18
[#46484] "<<" の使い方 — "T.Soejima" <clev@...2.so-net.ne.jp>
そえじま@勉強中 です。
8 messages
2009/10/27
[ruby-list:46442] Re: Hpricot#search の使い方
From:
rubikitch@...
Date:
2009-10-08 19:58:50 UTC
List:
ruby-list #46442
From: "T.Soejima" <clev@ck2.so-net.ne.jp>
Subject: [ruby-list:46441] Hpricot#search の使い方
Date: Fri, 9 Oct 2009 04:29:48 +0900
るびきちです。
> Hpricot#search の使い方を教えていただけないでしょうか?
>
> doc = Hpricot(open("http://hoge.example.com"))
>
> として、ページを取得した後、ページ内に複数の <span> タグがある中で
>
> <span id="abc_999">huga</span>
>
> のhugaをidで狙い撃ちして取得するにはどのように記述するのがよいのでしょうか?
>
> #id ではなく、class だと span.class で取得できるのは分かったのですが・・・
#!/usr/local/bin/ruby187
# -*- coding: utf-8 -*-
require 'hpricot'
doc = Hpricot(DATA) # __END__以下の内容を読み込む
# id="abc_999"なspanすべて
doc.search("span#abc_999")
# => #<Hpricot::Elements[{elem <span id="abc_999"> "huga" </span>}]>
# id="abc_999"な最初のspan
doc.at("span#abc_999")
# => {elem <span id="abc_999"> "huga" </span>}
# 内容がhugaな最初のspan
doc.search("span").detect {|e| e.inner_text == 'huga' }
# => {elem <span id="abc_999"> "huga" </span>}
__END__
<html><body>
<span id="abc_1">hoge</span>
<span id="abc_999">huga</span>
</body></html>
# HTMLパーサはNokogiriを使うのが主流になるでしょう。Ruby 1.9にも対応していますし。
--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/
Twit: http://twitter.com/rubikitch/
『Ruby逆引きハンドブック』 http://d.hatena.ne.jp/rubikitch/20090525/rubybook