0

私は決して Ruby の達人ではなく、Scrubyt はまったくの初心者です。そこのwikiページにあるいくつかの例を試してみました。私が取り組んでいた例は、「ルビー」を検索したときに Google から返された検索結果を取得することでした。各結果の URL を取得して、そのページも取得できるようにするというアイデアがありました。問題は、URL を適切に取得する方法がわからないことです。これは私の次のコードです:

require 'rubygems'
require 'scrubyt'

google_data = Scrubyt::Extractor.define do
  fetch 'http://www.google.com/ncr'
  fill_textfield 'q','ruby'
  submit

  link_title "//a[@class='l']", :write_text => true do
    link_url
  end
end

google_data.to_xml.write($stdout, 1);

コードは XML データ (名前とリンク) を適切に出力しますが、タグが追加されないように見えるリンクを取得するにはどうすればよいですか<link_url>(link_url を出力しようとしたところ、タグも出力されていることに気付きました)。にfetch link_url保持されている xml コンテンツからテキストを抽出する方法はありますlink_urlか?

これは、によって印刷されるコンテンツの一部ですgoogle_data.to_xml.write()

<root>
  <link_title>
    Ruby Programming Language
    <link_url>http://ruby-lang.org/</link_url>
  </link_title>
  <link_title>
    Download Ruby
    <link_url>http://www.ruby-lang.org/en/downloads/</link_url>
  </link_title>
  <link_title>
    Ruby - The Inspirational Weight Loss Journey on the Style Network ...
    <link_url>http://www.mystyle.com/mystyle/shows/ruby/index.jsp</link_url>
  </link_title>
  <link_title>
    Ruby (programming language) - Wikipedia, the free encyclopedia
    <link_url>http://en.wikipedia.org/wiki/Ruby_(programming_language)</link_url>
  </link_title>
</root>
4

1 に答える 1

0

私は代替案について考えます。Scrubytはしばらく更新されておらず、フォーラムは閉鎖されています。

MechanizeはExtractorが行うことを実行でき、NokogiriはXMLまたはHTML応答を解析でき、BuilderはXMLを作成できます(ただし、実際にはXMLは必要ないようです)。

于 2010-09-28T02:09:32.033 に答える