如何创建一个站点,让您登录到其他站点并收集您的数据。例如,mint.com如何允许你输入所有在线银行的详细信息,并收集你的数据以便在铸币厂内查看。
如果有人能给我指出一些关键字或任何脚本的方向,将不胜感激。
发布于 2009-07-08 01:45:50
这真的取决于你想要做什么。例如,Mint.com利用或曾经利用过一家名为Yodlee的公司的软件开发工具包。此SDK/Library使用屏幕抓取技术来代表Mint.com的客户获取数据。
发布于 2009-07-08 01:56:59
一般来说,你需要自动化站点访问和解析,也就是抓取。通常有两个棘手的领域需要注意: 1)身份验证2)无论你抓取什么,通常都需要你仔细检查它的HTML,同时确定你想要完成的是什么。
我写了一个简单的ruby应用程序,它可以抓取和搜索苹果翻新的商店,你可以在这里查看作为示例(请记住,它当然可以改进,但可能会让你继续前进):
http://grapple.xorcyst.com
我也写过类似的东西,用mechanize和hpricot从我的银行账户中抓取数据(我不太热衷于给mint我的证书),以及求职网站,二手车经销商等,所以如果你想付出努力,它是灵活的。
这是一件有用的事情,但您需要小心,不要违反任何使用策略等。
下面是另一个获取招聘信息的快速示例,它向您展示了它有多简单
#!/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
endhttps://stackoverflow.com/questions/1095696
复制相似问题