Rubyで簡単なニュースアグリゲータを構築しています。私はこの言語に全く触れておらず、open uri関数の使い方を知りました。シンプルなRubyスクリプトをオープンなURIで書く
私の問題は、htmlページを解析する方法です。 Rubyにパーサが組み込まれていますか?
ところで、私はレールを使用していないと私はそれが事前に
おかげで非常にシンプルになりたいです!
Rubyで簡単なニュースアグリゲータを構築しています。私はこの言語に全く触れておらず、open uri関数の使い方を知りました。シンプルなRubyスクリプトをオープンなURIで書く
私の問題は、htmlページを解析する方法です。 Rubyにパーサが組み込まれていますか?
ところで、私はレールを使用していないと私はそれが事前に
おかげで非常にシンプルになりたいです!
簡単な答えははいです。パーサーがあります。私はHTMLから抽出しようとしていることを知らずにあなたの質問に具体的に答えることはできませんが、私は以下にいくつかのソースコードを含めました。あなたがルビーコードを読むことができるなら、それはかなり自明です。 http://juretta.com/log/2006/08/13/ruby_net_http_and_open-uri/
:オープン-uriの使用方法の一例を示す別のリンクをここでURI: http://www.ruby-lang.org/en/
Content-type: text/html, charset: utf-8
Encoding: []
Last modified:
Status: ["200", "OK"]
{"date"=>"Mon, 15 Nov 2010 17:54:07 GMT",
"server"=>
"Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_ruby/1.2.6 Ruby/1.8.5(2006-08-25)",
"transfer-encoding"=>"chunked",
"content-type"=>"text/html;charset=utf-8"}
----
0: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
1: "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2: <html xmlns="http://www.w3.org/1999/xhtml">
です:
require 'open-uri'
require 'pp'
open('http://ruby-lang.org') do |f|
puts "URI: #{f.base_uri}"
puts "Content-type: #{f.content_type}, charset: #{f.charset}"
puts "Encoding: #{f.content_encoding}"
puts "Last modified: #{f.last_modified}"
puts "Status: #{f.status.inspect}"
pp f.meta
puts "----"
3.times {|i| puts "#{i}: #{f.gets}" }
end
を生成します
HTMLを解析するには、Nokogiriをお勧めします。特長:
文書検索のための