我有访问fcc.gov一个脚本,然后点击触发一个下载链接:不明原因的不一致性下载使用Ruby机械化的XLS文件时后重定向
require "mechanize"
docket_number = "12-268" #"96-128"
url = "http://apps.fcc.gov/ecfs/comment_search/execute?proceeding=#{docket_number}"
agent = Mechanize.new
agent.pluggable_parser.default = Mechanize::DirectorySaver.save_to 'downloads'
agent.get(url) do |page|
link = page.link_with(:text => "Export to Excel file")
xls = agent.click(link)
end
能正常工作时docket_number
是“12 268" 。但是,当您将其更改为“96-128”时,Mechanize会下载页面的html而不是所需的电子表格。
两个网页的网址是:
- http://apps.fcc.gov/ecfs/comment_search/execute?proceeding=12-268(作品)
- http://apps.fcc.gov/ecfs/comment_search/execute?proceeding=96-128(这就是我需要帮助)
正如你所看到的,如果你访问的每个页面一个浏览器(我正在使用Chrome)并点击“导出到Excel文件”,电子表格文件被下载并且没有问题。 “96-128”有更多的行,所以当你点击导出链接时,它会将你带到一个新的页面,每隔10秒刷新一次,直到文件开始下载。我如何解决这个问题,为什么会出现这种不一致?
嘿,@Huluk。我只是自己解决了这个问题,请参阅下面的答案。 – user94154