我正在使用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))
如何解决这个问题?