Ruby 在抓取网页(可能是编码)时,这些奇怪的问题是什么?

Ruby 在抓取网页(可能是编码)时,这些奇怪的问题是什么?,ruby,curl,web-scraping,web-crawler,nokogiri,Ruby,Curl,Web Scraping,Web Crawler,Nokogiri,我正在尝试解析一些网页,例如: http://www.imovirtual.com/imoveis/apartamentos/t0-t1-entrecampos-mobilado-lisboa/1038329/ http://www.imovirtual.com/imoveis/apartamentos/t2-quinta-do-romao-quarteira/1156717/ 我使用的是Nokogiri::HTML,第一个链接一切正常,但第二个链接只有垃圾,无法解析 我尝试使用curl,结果

我正在尝试解析一些网页,例如:

http://www.imovirtual.com/imoveis/apartamentos/t0-t1-entrecampos-mobilado-lisboa/1038329/
http://www.imovirtual.com/imoveis/apartamentos/t2-quinta-do-romao-quarteira/1156717/
我使用的是Nokogiri::HTML,第一个链接一切正常,但第二个链接只有垃圾,无法解析

我尝试使用
curl
,结果是一样的。 下面是第二个链接的结果示例:

��� DG;v�u�G{f�
                     ��;?�@ː0t�Yw���`~�d��
f9����:�}P2k�㤷ϓ���togg���B�D�j���P�AS���cV���5h+�dp
有什么问题吗? 这两个页面在浏览器中都呈现得很好,我在它们的DOM中找不到明显的差异


注意:在第二个链接上使用
wget
会导致文件不可读。

网页已压缩,请检查标题:内容编码:gzip 你需要把它解压缩

编辑:

如果您使用的是ruby,请尝试以下方法:

cleanHtml = Zlib::GzipReader.new(StringIO.new(htmlCompressed)).read

最有可能OP使用的是OpenURI,所以应该是:
Zlib::gzipreder.new(open(url\u to\u resource))。read
It works!你知道一种方法来判断它是否被压缩了吗?我的结论是:
page=Zlib::gzipreder.new(page)if page.content\u encoding.include?“gzip”
还发现可以使用
curl-I
获取响应的标题@“锡人”walfire