【问题标题】:Rails scraping - submitting a formRails 抓取 - 提交表单
【发布时间】:2015-05-19 20:06:17
【问题描述】:

我正在页面上填写表格并提交。 这应该会触发文件的下载。

但是,当我尝试保存下载的输出时,我得到的是页面的源代码而不是文件。

我的代码是:

mechanize = Mechanize.new
mechanize.pluggable_parser.default = Mechanize::Download

page = mechanize.get('http://page.com/')

form = page.forms.first
form.radiobuttons_with(name: 'presence')[0].check
form.source = "btce"
form.label = "BTC/USD"

mechanize.get_file(form.submit).save!('page.csv')

如何保存提交表单时下载的文件?

【问题讨论】:

    标签: ruby-on-rails ruby web-scraping nokogiri mechanize


    【解决方案1】:

    提交表单后文件是否会自动开始下载? 提交表单可能会返回一个新页面,也可以加载新的脚本/样式表。这可能解释了为什么您的文件包含源代码,因为这就是您正在下载的内容。 (如果您下载网页,Mechanize 不会抛出错误)

    例如,我使用 Mechanize 填写 Google 的搜索表单并提交并将结果保存到google_search.csv。新文件包含页面源代码以及 javascript、mySQL 及其样式表的混合体。

    您可以使用 Firebug 挖掘页面的源代码,并查明提交表单时究竟发生了什么,这可能是一个被调用但您不知道的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多