我目前正在使用Cloud9作为基于云的IDE,但不幸的是,在Cloud9上运行似乎增加了一层我不太了解的复杂性。
例如,以下代码尽管从教程中复制并粘贴,但不会在终端中生成任何输出:
require 'rubygems'
require 'nokogiri'
require 'open-uri'
url = "http://stats.nba.com/player/#!/203096/stats/"
data = Nokogiri::HTML(open(url))
puts data
这导致两个问题:
答案 0 :(得分:2)
是的,你可以这样做:
mkdir scrape && cd $_
touch scrape.rb
ruby scrape.rb
你去,一切都应该没问题。
答案 1 :(得分:1)
因为您使用OpenUri来获取网页,所以这适用于Heroku或任何计算机。但是你不需要使用Heroku,因为你已经能够在Cloud9上抓取nba.com。
你说你正在使用的代码没有打印到控制台,但它确实适用于我。
这取决于你想用你使用Nokogiri解析的数据。要将其保存到数据库或文件中吗?查看编写文件而不是使用puts
命令打印到屏幕上。
答案 2 :(得分:0)
此代码输出到控制台。
首先确保您安装了Nokogiri gem,并且您拥有完整的Internet连接。
第二次开始调试。要调试程序,您可以使用像byebug
这样的gem,它在运行时为您提供交互式调试器。否则,由于您的代码很短,您可以添加一堆puts "point x"
来实际查看程序停止或中断的位置。
第三,注意您在屏幕上看到的任何错误或警告。