如何创建一个可以将您登录到其他网站并收集数据的网站。例如,mint.com如何允许您输入所有在线银行详细信息,并收集您的数据以便在Mint中查看。
如果有人可以通过某些关键字或任何脚本向我指明方向,我们将非常感激。
答案 0 :(得分:2)
答案 1 :(得分:2)
通常,您需要自动化站点访问和解析,即抓取。通常需要注意两个棘手的方面:1)身份验证2)无论您正在抓取什么,通常都需要您在确定要完成的任务时仔细检查其HTML。
我写了一个简单的ruby应用程序,它在一段时间内搜索和搜索Apple的翻新商店,你可以在这里查看作为一个例子(请记住,它肯定可以使用改进,但可能会让你去):
我写了类似的东西来从我的银行账户中获取数据(我不太热衷于提供我的凭据)使用机械化和hpricot,以及工作地点,二手车经销商等,所以它很灵活 如果你想付出努力。
这是一件很有用的事情,但您需要注意不要违反任何使用政策等。
这是另一个抓住工作发布的快速示例,向您展示它有多么简单
#!/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