我第一次与Nokogiri合作并搜索HTML文档。当我创建一个等于的变量(和print)时:
beteween Nokogiri::HTML(open(url).read)
它似乎输出与
完全相同的东西beteween Nokogiri::HTML(open(url))
有区别吗?
我在文档中找不到答案,试图看看我是否能找出差异,但遇到了麻烦。
答案 0 :(得分:7)
Nokogiri也很新,但也有一些经验。就Nokogiri而言,它以同样的方式处理你的两个例子。但是,open(url)
和open(url).read
不同 - 前者返回Tempfile
个对象,而后者返回String
个对象。
Nokogiri就是为了让你的生活更轻松。 “You don’t need to read the file into a string variable. Nokogiri will do this for you.”所以,请保存一些按键并使用Nokogiri::HTML(open(url))
。