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

时间:2011-09-26 12:26:12

标签: ruby nokogiri mechanize

我试图删除网页。我使用Nokogiri / Mechanize。所以,如果我做

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

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

让任何人知道如何解决它,或者我如何从文件对象中找出内容类型或者知道如何将文件转换为页面对象?

谢谢迈克尔

1 个答案:

答案 0 :(得分:0)

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

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

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

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

检查响应代码,它位于page.code