Rubyでページ上のすべてのhrefの内容を取得する最も簡単な方法はありますか?

StackOverflow https://stackoverflow.com/questions/1664403

質問

私はRubyで簡単なWebクローラーを書いていると私は、ページ上のすべてのhrefの内容を取得する必要があります。どのようないくつかのページが有効でない場合がありますので、これを行うための最善の方法、または任意の他のウェブページのソースの解析ですが、私はまだそれらを解析することができるようにしたい。

の妥当性に依存しないの構文解析が可能か良いRubyのHTMLパーサーはありますか、単に正規表現を用いて手でそれを行うための最善の方法は何ですか?

非XHTMLページでXPathを使用することが可能ですか?

役に立ちましたか?

解決

鋸山のを見てください。ショート例:

require 'open-uri'
require 'nokogiri'
doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove'))
doc.search('//*[@href]').each do |m| p m[:href] end

他のヒント

の機械化を見てみましょう。私はそれがページ内のすべてのリンクを取得するためのメソッドを持っているかなり確信しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top