【问题标题】:Scraping <span id> with Nokogiri使用 Nokogiri 抓取 <span id>
【发布时间】:2014-06-08 04:21:48
【问题描述】:

我是网络抓取和 Ruby 的菜鸟。

我正在使用 rails,我试图在vaultofsatoshi.com 的页面顶部获取最后一个价格。我在http://hunterpowers.com/data-scraping-and-more-with-ruby-nokogiri-sinatra-and-heroku/ 遇到了本教程,但是我不确定如何使其适应这种情况。我想在这里检索价格:&lt;span id="ticker-last-price"&gt;716.68571&lt;span class="trailing-zeroes"&gt;000&lt;/span&gt;&lt;/span&gt;。看来我可以只使用的唯一值来获取值,但我不知道如何准确实现。

为了澄清,我不需要尾随零,网站位于https://www.vaultofsatoshi.com/

您的帮助将不胜感激!

【问题讨论】:

  • 你能给我网页链接吗.. 让我试试?
  • 你只想要716.68571 或所有尾随零?
  • 澄清了问题...链接是 vaultofsatoshi.com,我不需要尾随零。谢谢!
  • 有趣。试过doc.css("#ticker-last-price"),我只能看到零。

标签: ruby-on-rails ruby web-scraping


【解决方案1】:

虽然我之前的尝试没有奏效,但这里有一个方法可以做到。只需使用相关参数调用 API。我仍然无法弄清楚为什么我无法获得我在屏幕上看到的值:-)。

...
require 'json'
...

doc = Nokogiri::HTML(open("https://www.vaultofsatoshi.com/ticker_data.php? \
         order_currency=BTC&payment_currency=CAD"))

doc = JSON.parse(doc)  #=> {..., "max_price"=>"721.00000000"...}
doc["max_price"]       #=> "721.00000000"

【讨论】:

  • 谢谢,我认为这必须是妥协。我不明白为什么 API 没有“最后价格”……只有“最高价格”等。不过还是谢谢!
猜你喜欢
  • 2013-09-30
  • 2017-08-25
  • 1970-01-01
  • 2012-01-14
  • 1970-01-01
  • 2015-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多