0

我正在使用 Ruby 1.9.3 并尝试在基础上松散地编写 Google Play 刮板。我很难使用其中的 HTTPS 部分。

基本上,Nokogiri::HTML(open("https://play.google.com/store/#{type}/details?id=#{id}"))在 Windows 上使用(如在原始 gem 中)失败,原因在此线程中解释。

所以,我尝试从同一个线程实现解决方案,但它实际上根本不起作用。我什至现在已经停止尝试使用 HTTPS,因为即使只是 HTTP,我也必须缺少一些基本的东西。

这是我目前拥有的代码:

  url = URI.parse( "http://google.com/" )
  http = Net::HTTP.new( url.host, url.port )
  http.use_ssl = true if url.port == 443
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  res, data = http.get ("http://google.com/")
  puts data

在这种情况下,我什么也得不到。甚至没有“零”,根本没有输出。

但是,当我做一个 Straight 时Net::HTTP.get_print URI('http://www.google.com'),我得到了输出,没有问题。

非常感激任何的帮助。我正在寻找的真正解决方案是在使用 Windows 时抓取 Google Play 页面的简单方法——这只是实现这一目标的一步。因此,如果您知道实现此目的的更简单方法,我很想听听。

4

1 回答 1

2

你得到的原因nil是因为data没有分配任何东西。此行仅分配给res

res, data = http.get("http://google.com/")

此外,必须使用 Google 访问http://www.google.comwww否则您得到的只是 301 重定向消息和 Net::HTTPMovedPermanently对象。

于 2012-09-23T01:33:14.807 回答