Rails で解析するために Web ページをロードする
-
16-09-2019 - |
質問
Web からアプリケーションにページを取得し、それに対して何らかの解析を行いたいとします。それ、どうやったら出来るの?どこから始めればよいでしょうか?いくつかのプラグインやジェムが必要ですか?このような種類のタスクを解決する際に、通常はどのようなことを行っていますか?
解決
次のような宝石を試してみてください プリコット (ウィキ) または 鋸切.
Hpricot の例:
require 'open-uri'
require 'rubygems'
require 'hpricot'
html = Hpricot(open(an_url).read)
# This would search for any images inside a paragraph (XPath)
html.search('/html/body//p//img')
# This would search for any images with the class "test" (CSS selector)
html.search('img.test')
ノコギリの例:
require 'open-uri'
require 'rubygems'
require 'hpricot'
html = Nokogiri::HTML(open(an_url).read)
# This would search for any images inside a paragraph (XPath)
html.xpath('/html/body//p//img')
# This would search for any images with the class "test" (CSS selector)
html.css('img.test')
一般的に鋸の方が速いです。どちらのライブラリも多くの機能を備えています。
他のヒント
あなたがやりたいことは「」と呼ばれます削る"
Ryan Bates は、このトピックに関して 2 つの優れたスクリーンキャストを作成しました。
個人的には鋸の方が好きです。次の回答も確認できます。 最高の Rails HTML パーサー
所属していません StackOverflow