Using Mechanize and hpricot to get property taxes

C

Cy Gar

after reading about hpricot, mechanize and htree gems, I made an attempt
to write a simple code to grab property tax info for homes in Los
Angeles. i wrote this fragment which goes to the assessor's website,
finds the form entries and correctly puts in an apn number (property
parcel number) but fails at the submit line. I tried page =
agent.submit(form) also to no avail. What am I doing wrong?

Two side questions: How do you auto-indent ruby code? I am using SciTe
editor and i find myself using my old matlab editor every once in a
while to beautify the codes. Hw could ruby not have auto-indentor?
Also quick way of turning an html table into a matrix, array of arrays?
thanks in advance.


require 'rubygems'
require 'hpricot'
require 'mechanize'
agent = WWW::Mechanize.new
apn='2264-011-027'
page =
agent.get('https://ttc.lacounty.gov/secured_asp/vcheck_new/index.php')
form=page.forms.with.name("pageform").first
form['mapbook']=apn[0,4]
form.page=apn[5,3]
form.parcel=apn[9,3]
page = agent.submit(form,form.buttons.first) #gives error

error:

c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize/page.rb:104:in
`bases': undefined method `search' for nil:NilClass (NoMethodError)
from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:440:in
`to_absolute_uri'
from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:659:in
`fetch_page'
from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:466:in
`post_form'
from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:269:in
`submit'
 
K

konstantin.mailinglists

after reading about hpricot, mechanize and htree gems, I made an attempt
to write a simple code to grab property tax info for homes in Los
Angeles.  i wrote this fragment which goes to the assessor's website,
finds the form entries and correctly puts in an apn number (property
parcel number) but fails at the submit line.  I tried page =
agent.submit(form) also to no avail. What am I doing wrong?

Two side questions: How do you auto-indent ruby code?  I am using SciTe
editor and i find myself using my old matlab editor every once in a
while to beautify the codes.  Hw could ruby not have auto-indentor?
Also quick way of turning an html table into a matrix, array of arrays?
thanks in advance.

  require 'rubygems'
  require 'hpricot'
  require 'mechanize'
  agent = WWW::Mechanize.new
  apn='2264-011-027'
  page =
agent.get('https://ttc.lacounty.gov/secured_asp/vcheck_new/index.php')
  form=page.forms.with.name("pageform").first
  form['mapbook']=apn[0,4]
  form.page=apn[5,3]
  form.parcel=apn[9,3]
  page = agent.submit(form,form.buttons.first)  #gives error

error:

c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize/page.rb:104:in
`bases': undefined method `search' for nil:NilClass (NoMethodError)
  from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:440:in
`to_absolute_uri'
  from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:659:in
`fetch_page'
  from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:466:in
`post_form'
  from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:269:in
`submit'

Just pasted it into irb. I don't run into errors...
=> #<WWW::Mechanize::page
{url
#<URI::HTTPS:0xfdbb0484c URL:https://ttc.lacounty.gov/secured_asp/
vcheck_new/index.php?
page=installments&SSID=3an61rbfpbje0uunii667oj706>}
{meta}
{title "Property Tax Payment Status Page"}
{iframes}
{frames}
{links
#<WWW::Mechanize::Link
"Select Another Parcel"
"index.php?page=main&SSID=3an61rbfpbje0uunii667oj706">
#<WWW::Mechanize::Link
"\r\n \r\n "
"index.php?page=main&SSID=3an61rbfpbje0uunii667oj706">}
{forms}>
 
M

Michael W. Ryder

Cy said:
after reading about hpricot, mechanize and htree gems, I made an attempt
to write a simple code to grab property tax info for homes in Los
Angeles. i wrote this fragment which goes to the assessor's website,
finds the form entries and correctly puts in an apn number (property
parcel number) but fails at the submit line. I tried page =
agent.submit(form) also to no avail. What am I doing wrong?

Two side questions: How do you auto-indent ruby code? I am using SciTe
editor and i find myself using my old matlab editor every once in a
while to beautify the codes.

With Scite once you name the file name.rb or select Ruby from the
language tab it should automatically handle the indentations.


Hw could ruby not have auto-indentor?
Also quick way of turning an html table into a matrix, array of arrays?
thanks in advance.


require 'rubygems'
require 'hpricot'
require 'mechanize'
agent = WWW::Mechanize.new
apn='2264-011-027'
page =
agent.get('https://ttc.lacounty.gov/secured_asp/vcheck_new/index.php')
form=page.forms.with.name("pageform").first
form['mapbook']=apn[0,4]
form.page=apn[5,3]
form.parcel=apn[9,3]
page = agent.submit(form,form.buttons.first) #gives error

error:

c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize/page.rb:104:in
`bases': undefined method `search' for nil:NilClass (NoMethodError)
from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:440:in
`to_absolute_uri'
from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:659:in
`fetch_page'
from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:466:in
`post_form'
from
c:/ruby/lib/ruby/gems/1.8/gems/mechanize-0.7.6/lib/www/mechanize.rb:269:in
`submit'
 
C

Cy Gar

By auto-indent, i meant indenting an entire chunk of the code not indent
after each return hit. thanks! In matlab medit, you can highlite the
entire code block and use cntrl-I to indent the entire section.. In
unix, cb is run to beautify c code.
 
C

Cy Gar

Hey Thanks! But what the heck? I just reinstalled ruby gems, hpricot and
mechanize and still got the same error?? running from sciTe.
 
A

Avdi Grimm

By auto-indent, i meant indenting an entire chunk of the code not indent
after each return hit. thanks! In matlab medit, you can highlite the
entire code block and use cntrl-I to indent the entire section.. In
unix, cb is run to beautify c code.

I know that Emacs, Netbeans, and TextMate all do this for Ruby code.
I'm sure other editors do as well.

--
Avdi

Home: http://avdi.org
Developer Blog: http://avdi.org/devblog/
Twitter: http://twitter.com/avdi
Journal: http://avdi.livejournal.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top