open_uri / Nokogiri重定向问题

时间:2015-06-10 18:10:21

标签: ruby open-uri

我正在使用Nokogiri来抓取一个工作正常的网页,除非页面有重定向循环。

所以当我抓取这个网站时:https://www.cardcomplete.com/besuchen-isie-uns-auf-facebook/

我收到此错误

/home/balint/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/open-uri.rb:224:in open_loop': redirection forbidden: https://www.cardcomplete.com/besuchen-isie-uns-auf-facebook/ -> http://www.facebook.com/cardcomplete (RuntimeError)

但是当我尝试抓住这个网站时,我得到了同样的错误,但现在它被重定向到facebook页面的https版本:

/home/balint/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/open-uri.rb:224:in `open_loop': redirection forbidden: http://www.facebook.com/cardcomplete -> https://www.facebook.com/cardcomplete (RuntimeError)

当然,抓取facebook页面的https版本会有效。

我安装了this open_uri_redirections gem,适用于facebook http-> https重定向,但不适用于第一个链接:

doc = Nokogiri::HTML(open('https://www.cardcomplete.com/besuchen-isie-uns-auf-facebook/', :allow_redirections => :safe))

如何解决这个问题?

0 个答案:

没有答案