ruby - Mechanize 获取文件而不是页面对象

标签 ruby nokogiri mechanize

我试图废弃一个网页。我使用Nokogiri/Mechanize 。所以如果我做

page = agent.get(url)
page.class
 => Mechanize::File

,有时我会得到一个页面对象,有时是一个文件对象。但我需要的是,每次都有一个页面对象。我试图为纯文本/文本添加一个 pluggable_parser 但这对我不起作用。

有没有人知道如何修复它,或者如何从文件对象中找出内容类型,或者知道如何将文件转换为页面对象?

谢谢迈克尔

最佳答案

您请求的页面很可能不可用,并且服务器返回纯文本错误页面。

请参阅 Mechanize::File 上的文档.

内容类型在 page.response['content-type'] .

绝对可以更改响应的内容类型,然后创建一个 Mechanize::Page从数据中无需再次下载 - 但我认为这不会给你任何有用的东西。

检查响应代码,它在 page.code .

关于ruby - Mechanize 获取文件而不是页面对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7555035/

相关文章:

ruby - 在 Ruby 中操作字符串和数组

ruby-on-rails - 无法使用包含两个冒号的 css 属性在 nokogiri 中选择节点

ruby-on-rails - Nokogiri 不允许我在 Rails 中进行捆绑安装

ruby - 在 Textmate for Ruby 中自动完成?

ruby-on-rails - Searchkick,按 parent 姓名搜索

ruby - 在 Nokogiri 中,如何找到文档中某个节点之前的所有节点?

python - "module object is not callable"是什么意思?

ruby-on-rails - 使用 Mechanize (Ruby) 进行基本和表单例份验证

perl - 使用 Perl-Mechanize : finalizing a little programme 进行 Dom 处理

ruby-on-rails - ruby , Mechanize 。如何获取特定的 <a> 标签文本