Genel olarak aka kazıma, site erişimi ve ayrıştırma otomatikleştirmek gerekir. 1) kimlik 2) kazıma ne olursa olsun genellikle size ulaşmak için çalışıyoruz ne olduğunu belirlemek ise yakından HTML incelemek için sizi gerektirir: dışarı izlemek için iki zor alanlar genellikle vardır.
Ben (kesinlikle iyileştirme kullanabilirsiniz akılda tutmak, ancak gidiyorsun alabilirsiniz) bir örnek olarak buradan kontrol edebileceği bir süre önce Apple'ın yenilenmiş mağaza arar sıyrıklar ve basit bir yakut app yazdı:
http://grapple.xorcyst.com
I've written similar stuff to grab data from my bank accounts (I'm not too keen on giving mint my credentials) using mechanize and hpricot, as well as job sites, used car dealerships etc, so it's flexible
if you want to put in the effort.
Bunu yapmak için yararlı bir şey, ancak herhangi bir kullanım politikaları ve benzeri ihlal için dikkatli olmak gerekir.
İşte ne kadar basit göstermek için iş ilanları çekimden başka hızlı bir örnek
#!/usr/bin/ruby
require 'rubygems'
require 'mechanize'
require 'hpricot'
require 'open-uri'
url = "http://tbe.taleo.net/NA2/ats/careers/jobSearch.jsp?org=DIGITALGLOBE&cws=1"
site = WWW::Mechanize.new { |agent| agent.user_agent_alias = 'Mac Safari' }
page = site.get(url)
search_form = page.form("TBE_theForm")
search_form.org = "DIGITALGLOBE"
search_form.cws = "1"
search_form.act = "search"
search_form.WebPage = "JSRCH"
search_form.WebVersion = "0"
search_form.add_field!('location','1') #5
search_form.add_field!('updatedWithin','2')
search_results = site.submit(search_form)
doc = Hpricot(search_results.body)
puts "<b>DigitalGlobe (Longmont)</b>"
doc.search("//a").each do |a|
if a.to_s.rindex('rid=') != nil
puts a.to_s.gsub('"','')
end
end