(競馬予想AI)SPAT4による地方競馬投票ツールの作り方(単勝のみ、お知らせ対応済ver)
SPAT4による購入方法をまとめました
#NARに投票するモジュール
import os
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException, NoSuchElementException
from time import sleep
from datetime import datetime, timedelta
from webdriver_manager.chrome import ChromeDriverManager
from report_line import send_line_return # type: ignore
from keiba_prediction import race_prediction_last_min # type: ignore
username = "" # ここには自分の加入者番号を入力すること!
password = "" # ここには自分の利用者IDを入力すること!
race_location_mapping = {
'01': '札幌', '02': '函館', '03': '福島', '04': '新潟', '05': '東京',
'06': '中山', '07': '中京', '08': '京都', '09': '阪神', '10': '小倉',
'65': '帯広', '30': '門別', '35': '盛岡', '36': '水沢', '42': '浦和',
'43': '船橋', '44': '大井', '45': '川崎', '46': '金沢', '47': '笠松',
'48': '名古屋', '50': '園田', '51': '姫路', '54': '高知', '55': '佐賀'
}
# seleniumの待機時間[sec]
wait_sec = 2
def login_spat4():
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless") # ヘッドレスモードで実行
chrome_options.add_argument("--no-sandbox") # OSセキュリティモデルをバイパス
chrome_options.add_argument("--disable-dev-shm-usage") # リソース制限の問題を回避
# ChromeDriverのパスを指定
driver_path = ChromeDriverManager().install()
if not driver_path.endswith("chromedriver.exe"):
driver_dir = os.path.dirname(driver_path)
driver_path = os.path.join(driver_dir, "chromedriver.exe")
# ChromeServiceを作成し、ChromeDriverのパスを指定
chrome_service = webdriver.ChromeService(executable_path=driver_path)
# ChromeOptionsを作成
chrome_options = webdriver.ChromeOptions()
# ChromeDriverを作成
driver = webdriver.Chrome(service=chrome_service, options=chrome_options)
try:
# ウェブサイトにアクセス
driver.get("https://www.spat4.jp/keiba/pc")
# サイトが完全に読み込まれるのを待つために適切な時間を設定
sleep(1)
# ログイン情報を入力
username_input = driver.find_element(By.ID, "MEMBERNUMR")
password_input = driver.find_element(By.ID, "MEMBERIDR")
username_input.send_keys(username)
password_input.send_keys(password)
# チェックボックスにチェックを入れる
checkbox = driver.find_element(By.CLASS_NAME, "check")
checkbox.click()
# ログインボタンをクリック
login_button = driver.find_element(By.XPATH, "//span[@class='btn']/div[text()='ログイン']")
login_button.click()
# サイトが完全に読み込まれるのを待つために適切な時間を設定
sleep(1)
# ログインが成功した場合、WebDriverを返す
return driver
except Exception as e:
print(f"ログインエラー: {e}")
return None
def get_race_location(race_location_code):
return race_location_mapping.get(race_location_code, 'Unknown Location')
# DataFrameを文字列形式に変換する関数
def df_to_string(df):
return df.to_string(index=False)
これ以降に賭けるロジックを入れます
この記事が気に入ったらサポートをしてみませんか?