projetoJogoBicho(Jogo do Bicho 結果スクレイピング)

Tool

概要

このリポジトリは、PythonとSeleniumを使って「Jogo do Bicho」の結果ページから自動でデータを取得し、SQLiteデータベースに格納するスクレイピングプロジェクトです。主要スクリプトはスクレイピング処理とデータベース管理を担い、テスト用のユニット/機能テストや実行用のヘルパースクリプトが付属します。ローカルで手軽に動かせるため、学習や実験、軽量なデータ収集パイプラインのプロトタイプとして有用です。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 3
  • ファイル数: 16
  • メインの言語: Jupyter Notebook

主な特徴

  • Seleniumを使ったブラウザ自動化によるスクレイピング実装。
  • 取得した結果をSQLite(resultados.db)に保存する軽量な永続化。
  • テストスクリプト(test_funcional.py)による機能検証の用意。
  • 実行用スクリプトとJupyterノートブックでの解析サンプルを同梱。

技術的なポイント

プロジェクトはシンプルながら実践的なスクレイピング構成を採用しています。screenScraping.py(READMEではscreenScraping.pyが主要スクリプトと記述)がブラウザ操作の核で、Seleniumを用いてターゲットサイトを開き、必要なDOM要素を抽出してJSON相当のデータ構造に整形します。その後、SQLite接続を確立してテーブルにINSERT/UPDATEを行い、履歴データとしてローカルに保存します。永続化先がSQLiteなのでセットアップは容易で、resultados.dbは自動生成される設計です。

実行環境としてPython 3.12+を想定しており、Google Chromeと対応するChromeDriverの配置が必要です。ヘッドレスモードやブラウザオプションの切替により、ローカルやサーバ環境での実行バリエーションを持たせられます。エラーハンドリングや再試行ロジックを組み込めば、ネットワーク変動やページ構造の一時的な変化に対しても堅牢化できます。

テスト面ではtest_funcional.pyがあり、スクレイピング関数やDB保存処理の基本的な動作確認が可能です。加えて、estatisticaJogoBiho.ipynbというJupyterノートブックが同梱されており、収集したデータを読み込んで簡単な統計解析や可視化を行うためのサンプルが提供されています。これにより、データ収集→保存→解析のワークフローをひと通り試せる点が利点です。

設計上の注意点としては、スクレイピング対象のサイトが構造変更を行った場合にセレクタのメンテナンスが必要なこと、また公開サイトからのデータ取得には利用規約や法的な配慮が必要な点があります。プロダクション用途に耐えうるスケジューリング(cronやワーカー)やログ、監視を追加することで、実運用に近いデータパイプラインに拡張できます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file

  • .vscode: dir

  • README.md: file

  • estatisticaJogoBiho.ipynb: file

  • executar_populacao.py: file

  • screenScraping.py: file

  • test_funcional.py: file

  • resultados.db: file(自動生成)

  • requirements.txt: file(存在する場合は依存管理)

  • outros scripts / config ファイル: …他 11 ファイル

(上記はREADMEの記載とリポジトリ内容を元に抜粋)

まとめ

手早く学べるSelenium+SQLiteのスクレイピング実装。解析ノート付きで教育用途に最適。

リポジトリ情報:

READMEの抜粋:

Projeto Jogo do Bicho

Este projeto realiza a coleta automatizada (web scraping) dos resultados do “Jogo do Bicho” utilizando Python e Selenium, armazenando as informações em um banco de dados SQLite local.

Estrutura do Projeto

  • screenScraping.py: Script principal que realiza o scraping e gerencia o banco de dados.
  • test_funcional.py: Testes unitários e funcionais.
  • resultados.db: Banco de dados SQLite (gerado automaticamente).

Pré-requisitos

  • Python 3.12+
  • Google Chrome i…