Amazon 用の Web スクレイピング プログラムを構築しようとしていますが、最初のステップでつまずいてしまいます。私は次のようにコードを書きました.
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
page = agent.get('http://www.amazon.com/')
page_form = page.form('site-search')
page_form.q = 'Intermediate Microeconomics'
page = agent.submit(page_form, page_form.buttons.first)
pp page
そして、私はこのエラーメッセージを受け取り続けます:
/Users/samsunknight/.rvm/gems/ruby-2.0.0-p195/gems/mechanize-2.7.1/lib/mechanize/form.rb:217:in `method_missing': undefined method `q=' for #<Mechanize::Form:0x007f9a13012660> (NoMethodError)
from webscraperattempt1.rb:7:in `<main>'
このコードを google.com の例から適応させたところ、 と でシームレスに動作するためagent.get('www.google.com')
、page.form('f')
問題は にあるとpage.form('site-search')
思いますがpp page
、www.amazon.com の場合、「サイト検索」がまったく同じに表示されます「f」がGoogleの場合と同じように配置します。
私は何を間違っていますか?/どうすれば修正できますか?