RubyとNokogiriを使用して、約10列のページをスクレイプしようとしています。ほとんどの列は、一意のクラス名を使用することで非常に簡単です。ただし、それらの一部には、標準のクラス名に長い数字の文字列が追加されているように見えるクラスIDがあります。
たとえば、ゲーム時間はすべて.eventLine-time
、チーム名はで取得されます.team-name
が、この特定のチーム名は次のようになります。
<div class="eventLine-book-value" id="eventLineOpener-118079-19-1522-1">-3 -120</div>
.eventLine-book-value
この列に固有ではないため、役に立ちません。13桁はゲームごとに異なり、次のようなことを試みます。
def nodes_by_selector(filename,selector)
file = open(filename)
doc = Nokogiri::HTML(file)
doc.css(^selector)
end
私にエラーを残しました。id=eventLineOpener-XXXX
^と〜が他の言語で使用されているのを見てきましたが、これは初めてで、すべてのデータを無駄に拾う方法を探してみました。