2004-10-20(Wed) [長年日記]
_ ついでに
台風23号もキター。空がごろごろいってます。明日大丈夫かいな。
_ NoraのWeb::Agent
を使ってみようとおもったのだが、適当なサンプルがなさげ。どっかにアーカイブにはないみたい?えーとぐーぐるさまを検索するサンプルとしてはこんな感じ?でもちゃんと動いてないような。
require 'pp'
require 'web/agent'
require 'web/agent/forms'
agent = Web::Agent.new
agent.get('http://www.google.co.jp/')
forms = Web::Agent::Forms.new(agent.rsp.body)
form = forms.forms.first
form.fields.each do |e|
e.value = 'ruby web::agent' if e.name == 'q'
p e
end
form.submit(agent)
pp agent.rsp
とりあえずhtreeが変わった?みたいで以下の修正はしてあるんですけど...なんか根本的に間違ってるのかしらん。
$ diff -u forms.rb.orig forms.rb
--- forms.rb.orig 2004-10-21 00:57:21.000000000 +0900
+++ forms.rb 2004-10-21 00:58:28.000000000 +0900
@@ -20,8 +20,7 @@
def parse(html)
form = nil
doc = HTree.parse(html)
- doc.traverse_with_path {|elem,path|
- next unless path=~/\/form\z/
+ doc.traverse_element('{http://www.w3.org/1999/xhtml}form') {|elem|
@forms << Form.new(elem)
}
@@ -208,7 +207,7 @@
@value = value
@checked = checked
end
- attr_accessor :name, :value
+ attr_accessor :name, :value, :checked
end
class Submit
明日から寝不足の日が続きそうですね^^;
やばいっす。