【Ruby】【nokogiri】TOTO BIGのくじ結果を取得する例

プログラミング・Web開発カテゴリを表すパンダのイラスト プログラミング・Web開発

RubyのNokogiriを使ったウェブスクレイピングの実装例です。ここでは例として、TOTO BIGのくじ結果のページから指定した開催回の結果を取得する手順を解説します。

## 前提条件

– Ruby 3.x 環境
– nokogiri ジェムがインストールされていること

## 実行手順

以下のスクリプトを `totobig_result.rb` というファイル名で保存します。

“`ruby
require ‘nokogiri’
require ‘open-uri’

if ARGV.empty?
abort(‘使用方法: ruby totobig_result.rb <開催回数4桁>‘)
end

hold_cnt_id = ARGV[0]
url = “https://www.toto-dream.com/dci/I/IPB/IPB02.do?op=lnkHoldCntLotResultLstBIG&holdCntId=#{hold_cnt_id}”

begin
URI.open(url) do |f|
html = Nokogiri::HTML(f)
logo = html.css(‘table.adjustment’).first

if logo
doc = logo.content
doc1 = doc.gsub(/\s+/, ”)
puts doc1
else
warn(‘指定された開催回のデータが見つかりませんでした。’)
end
end
rescue OpenURI::HTTPError => e
warn(“ネットワークエラーが発生しました: #{e.message}”)
end
“`

## 実行例

コマンドラインから4桁の開催回を指定して実行します。

“`bash
$ ruby totobig_result.rb 0666
11222220211121
“`

## コードのポイント

– `URI.open` を用いることで、セキュリティリスクを抑えながらリモートのHTMLデータを取得しています。
– `Nokogiri::HTML` でパースした後、CSSセレクタ `table.adjustment` を指定して該当するテーブル要素を抽出しています。
– 取得したテキストから不要な空白や改行文字を除去し、結果を見やすく整形しています。

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年10月8日

  • 変更非推奨となったopenメソッドをKernel.openからURI.openへ変更しました。
  • 追加前提条件と安全上の注意、コードの解説を追加しました。

文書情報

記事タイトル
【Ruby】【nokogiri】TOTO BIGのくじ結果を取得する例
作成日
更新日
Source URL
https://papanda925.com/?p=495

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました