Phi*_*ime 2 ruby httparty web-scraping
这个问题可能结构很差,所以请耐心等待,我是新手。
我正在尝试构建一个简单的网络抓取工具,但每次运行代码时,我都会在终端中收到此警告。我尝试点击 github issues 的链接,希望能得到更清晰的解释,但我也不明白。尝试过谷歌搜索,但也没有任何结果。
[DEPRECATION] HTTParty will no longer override `response#nil?`.
This functionality will be removed in future versions.
Please, add explicit check `response.body.nil? || response.body.empty?`.
For more info refer to: https://github.com/jnunemaker/httparty/issues/568
Run Code Online (Sandbox Code Playgroud)
我想我想知道的是,从根本上来说,这个警告是什么意思?从现在开始使用宝石时我应该做一些不同的事情吗HTTParty?
这也让我很烦恼。您可能正在将 HTTParty.get 的响应传递给正在测试 nil 的其他代码。我将主体传递给 Nokogiri::HTML,该代码最终调用了 HTTParty.response.nil?。为了解决这个问题,我开始将“正文”发送到 Nokogiri,而不是响应对象。很多人可能会遇到这种情况,因为带有这种模式的 Nokogiri 示例代码到处都是。
我现在用这个:
doc = HTTParty.get('https://some/site')
parsed ||= Nokogiri::HTML(doc.body)
Run Code Online (Sandbox Code Playgroud)
而不是之前收到警告时:
doc = HTTParty.get('https://some/site')
parsed ||= Nokogiri::HTML(doc)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2247 次 |
| 最近记录: |