机械化:如何下载电子表格
Mechanize: How to download a spreadsheet
我正在使用 sparklemotion 的 Mechanize (https://github.com/sparklemotion/mechanize)。
有一个站点,名为 https://philjobs.org/。在那里,您可以通过单击 link 下载电子表格。
我正在尝试自动下载电子表格。这是我现在拥有的:
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
agent.pluggable_parser.default = Mechanize::Download
page = agent.get('https://philjobs.org')
agent.page.link_with(:text => 'Download spreadsheet').click.save
它不保存电子表格,而是保存 html。我该如何保存电子表格?
试试这个
agent = Mechanize.new
agent.pluggable_parser.default = Mechanize::Download
url = "https://philjobs.org/jobQuery/execute?fromSavedquery=&email=&jobQuery.name=&format=csv&id=&view=On+screen+-+simple&typesToggler=Any+job+type&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&tenureTypesToggler=Any+contract+type&_tenureTypes=&_tenureTypes=&_tenureTypes=&_tenureTypes=&jobQuery.locationConstraint=NONE&jobQuery.institution.id=&jobQuery.institution.name=&jobQuery.institution.deleted=false&jobQuery.distance=50.0&jobQuery.city.id=&autonamejobQuerycity=&jobQuery.country=&jobQuery.region=&topicListToggler=Any+AOS&aocListToggler=Any+AOC&jobQuery.keywords=&moreOptions=&jobQuery.orderBy=Creation+time&searchFromDatePicker=&jobQuery.fromDate=date.struct&jobQuery.fromDate_day=&jobQuery.fromDate_month=&jobQuery.fromDate_year=&searchToDatePicker=&jobQuery.toDate=date.struct&jobQuery.toDate_day=&jobQuery.toDate_month=&jobQuery.toDate_year=&_withExpired="
agent.get(url).save('Whosebug.csv')
当您单击 下载电子表格 link 时,它会使用 javascript 作为 get
方法提交表单。上面的 url
是使用表单的所有输入字段(参数)生成的。
我正在使用 sparklemotion 的 Mechanize (https://github.com/sparklemotion/mechanize)。
有一个站点,名为 https://philjobs.org/。在那里,您可以通过单击 link 下载电子表格。
我正在尝试自动下载电子表格。这是我现在拥有的:
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
agent.pluggable_parser.default = Mechanize::Download
page = agent.get('https://philjobs.org')
agent.page.link_with(:text => 'Download spreadsheet').click.save
它不保存电子表格,而是保存 html。我该如何保存电子表格?
试试这个
agent = Mechanize.new
agent.pluggable_parser.default = Mechanize::Download
url = "https://philjobs.org/jobQuery/execute?fromSavedquery=&email=&jobQuery.name=&format=csv&id=&view=On+screen+-+simple&typesToggler=Any+job+type&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&_jobTypes=&tenureTypesToggler=Any+contract+type&_tenureTypes=&_tenureTypes=&_tenureTypes=&_tenureTypes=&jobQuery.locationConstraint=NONE&jobQuery.institution.id=&jobQuery.institution.name=&jobQuery.institution.deleted=false&jobQuery.distance=50.0&jobQuery.city.id=&autonamejobQuerycity=&jobQuery.country=&jobQuery.region=&topicListToggler=Any+AOS&aocListToggler=Any+AOC&jobQuery.keywords=&moreOptions=&jobQuery.orderBy=Creation+time&searchFromDatePicker=&jobQuery.fromDate=date.struct&jobQuery.fromDate_day=&jobQuery.fromDate_month=&jobQuery.fromDate_year=&searchToDatePicker=&jobQuery.toDate=date.struct&jobQuery.toDate_day=&jobQuery.toDate_month=&jobQuery.toDate_year=&_withExpired="
agent.get(url).save('Whosebug.csv')
当您单击 下载电子表格 link 时,它会使用 javascript 作为 get
方法提交表单。上面的 url
是使用表单的所有输入字段(参数)生成的。