doc = Nokogiri::HTML(<<EOT)
<html><body>
<script type="application/json" data-hypernova-id="b8a86d1a-ba57-4db9-86fb-072499e821e3" data-hypernova-key="RateList">
<!--{"rates":[{"code":"USDJPY","name":"米ドル/円","bid":106.714,"ask":106.717, 以後省略 }]}-->
</script>
</body></html>
EOT

#script タグで、data-hypernova-id 属性を持つもの
elem = doc.xpath("//script[@data-hypernova-id]")

#テキスト部分
/"bid":([^,]*),/ =~ elem.first.content
puts $1 #=> 106.714

Ruby で作った。
正規表現は、"bid": で始まり、, 以外の文字が続いて、, がある。
, 以外の文字が続いている部分を、キャプチャーする