競馬
- class scraping.netkeiba.AutoBuyer(executable_path: str, demo: bool = True, wait_time: float = 10)
ベースクラス:
SeleniumScraperBaseIPATで買い目を自動登録するためのクラス
メモ
買い目を自動入力する際に、投票内容をセットするボタンが 画面下側に無い状態(右側にある状態)で実行しないと、 ボタンが隠れてクリックできず、エラーになる。
- BAKEN_TYPE = {'RENPUKU': 6, 'RENTAN': 7, 'TANSHO': 0, 'UMAREN': 3, 'UMATAN': 5, 'WIDE': 4}
- clear_num()
- input_num(num)
- login(inet_id: str, user_number: str, password: str, p_ars: str, sleep_time: float = 1)
ログイン時に利用する。
- パラメータ
inet_id (str) --
user_number (str) --
password (str) --
p_ars (str) --
sleep_time (float, default 1) -- 各ページの遷移後にスリープを挟んで動作を安定させる
- login_demo()
- register_vote()
- select_baken_type(vote_type: str)
単勝、馬単など、馬券の種類を選択する
- パラメータ
vote_type (str) -- BAKEN_TYPEの中にあるどれかを選ぶ
- select_vote_type(vote_type: str)
- visit_page()
- vote_from_solver_df(solver_df)
- vote_renpuku(first, second, third, num, sleep_time=0.2)
- vote_renpuku_from_df(renpuku_df)
- vote_rentan(first, second, third, num, sleep_time=0.2)
- vote_rentan_from_df(rentan_df)
- vote_tansho(first: int, num: int, sleep_time=0.2)
- vote_tansho_from_df(tansho_df)
- vote_umaren(first, second, num, sleep_time=0.2)
- vote_umaren_from_df(umaren_df)
- vote_umatan(first, second, num, sleep_time=0.2)
- vote_umatan_from_df(umatan_df)
- vote_wide(first, second, num, sleep_time=0.2)
- vote_wide_from_df(wide_df)
- class scraping.netkeiba.DatabaseScraper(user_id=None, password=None)
ベースクラス:
NetkeibaSoupScraperBase入力されたレースIDに従ってNetkeibaのDatabaseページから情報を取得するクラス
- MAIN_DF_COLUMNS = ['着順', '枠番', '馬番', '性齢', '斤量', 'タイム', '上り', '単勝', '人気', '馬体重', '賞金(万円)']
- PLEMIUS_COLUMNS = ['タイム指数', '調教タイム', '厩舎コメント', '備考']
- RACECOURSE_DICT = {1: '札幌', 2: '函館', 3: '福島', 4: '新潟', 5: '東京', 6: '中山', 7: '中京', 8: '京都', 9: '阪神', 10: '小倉'}
- get_corner_df(race_id: Optional[Union[int, str]] = None)
- get_laptime_df(race_id: Optional[Union[int, str]] = None)
- get_main_df(race_id: Optional[Union[int, str]] = None) DataFrame
馬ごとの情報をスクレイピングする
- get_pay_df(race_id: Optional[Union[int, str]] = None) DataFrame
レースの払い戻し情報を取得する
- get_race_info(race_id: Optional[Union[int, str]] = None) dict
レースの基本情報を取得する
- class scraping.netkeiba.HorseDataScraper(login_url: Optional[str] = None, login_info: Optional[dict] = None)
ベースクラス:
SoupScraperBase馬の情報をスクレイピングするクラス
- get_birthday(horse_id: Union[int, str]) str
誕生日をスクレイピングするメソッド
- パラメータ
horse_id (Union[int, str]) -- 馬ID
- 戻り値
2016-07-16など、日付を表す文字列
- 戻り値の型
str
- get_peds(horse_id: Union[int, str])
血統データをスクレイピングするメソッド Parameters: ---------- horse_id : Union[int, str]
馬ID
Returns:
- peds_dfpandas.DataFrame
全血統データをまとめてDataFrame型にしたもの
- get_sex(horse_id: Union[int, str]) str
性別をスクレイピングするメソッド
- パラメータ
horse_id (Union[int, str]) -- _description_
- 戻り値
_description_
- 戻り値の型
str
- class scraping.netkeiba.HorseResultsScraper(user_id=None, password=None)
ベースクラス:
NetkeibaSoupScraperBase馬の過去成績データをスクレイピングするクラス
- class scraping.netkeiba.LocalRaceidScraper(executable_path, visible=False, wait_time=2)
ベースクラス:
SeleniumScraperBase地方競馬のレースIDスクレイピング用クラス
- RACECOURSE_ID_DICT = {30: '門別', 35: '盛岡', 36: '水沢', 42: '浦和', 43: '船橋', 44: '大井', 45: '川崎', 46: '金沢', 47: '笠松', 48: '名古屋', 50: '園田', 51: '姫路', 54: '高知', 55: '佐賀', 65: '帯広'}
- get_monthly_raceID_list(year, month, sleep_time, leave=True) list
- get_raceID_list_from_date(today: date, sleep_time=0.2) list
- get_yearly_raceID_list(year, sleep_time, leave=True) list
- visit_page(racecourse_id, year, month, date)
- class scraping.netkeiba.NetkeibaSoupScraperBase(base_url: str, user_id: Optional[str] = None, password: Optional[str] = None)
ベースクラス:
SoupScraperBaseNetkeibaの静的サイトのスクレイピングに使うベースクラス
- get_soup(race_id: Union[str, int])
ページの情報をBeautifulSoup形式で保持する。
- パラメータ
race_id (str or int) -- 8桁のレースID
- class scraping.netkeiba.OddsScraper(executable_path, visible=False, wait_time=10)
ベースクラス:
SeleniumScraperBase- get_fukusho_odds(sleep_time=0.2) DataFrame
- get_odds_df_dict(sleep_time: float = 0.2) Dict[str, DataFrame]
- get_renpuku_odds(sleep_time: float = 0.2) DataFrame
- get_rentan_odds(sleep_time: float = 0.2) DataFrame
- get_tansho_odds(sleep_time=0.2) DataFrame
- get_umaren_odds(sleep_time: float = 0.2) DataFrame
- get_umatan_odds(sleep_time: float = 0.2) DataFrame
- get_wakuren_odds() DataFrame
- get_wide_odds(sleep_time: float = 0.2) DataFrame
- visit_page(race_id: Union[str, int])
- class scraping.netkeiba.RaceidScraper
ベースクラス:
NetkeibaSoupScraperBase- get_monthly_raceID_list(year: int, month: int, sleep_time: float = 1, leave: bool = True) List[str]
指定した年月、1ヶ月の間に開催された全レースのレースIDを取得する
- パラメータ
year (int) --
month (int) --
sleep_time (float, default True) -- スクレイピングの際1回ごとに発生する待機時間
leave (bool, default True) -- Falseを指定すると、終了したら進捗バーを消すようにできる
- 戻り値
レースIDのリスト
- 戻り値の型
List[str]
- get_raceID_list_from_date(date: date) List[int]
指定した日付に開催されたレースのレースID
- パラメータ
date (datetime.date) -- レースIDを取得する日付。 直近1週間だとレース情報が存在しない可能性があるため警告が表示される。
- 戻り値
レースIDのリスト
- 戻り値の型
List[str]
- get_yearly_raceID_list(year, sleep_time, leave=True) list
- class scraping.netkeiba.RealTimeOddsScraper(executable_path: str, visible: bool = False, wait_time: int = 10, select_manually: bool = False)
ベースクラス:
SeleniumScraperBaseJRA公式サイトからほぼリアルタイムのオッズ情報をスクレイピングするクラス。
- RACECOURSE_DICT = {1: '札幌', 2: '函館', 3: '福島', 4: '新潟', 5: '東京', 6: '中山', 7: '中京', 8: '京都', 9: '阪神', 10: '小倉'}
- change_indexbase()
馬連以降のボタンのインデックスがページによって違う(要検証) 1だけずれるので、bool値を加算するかどうかで制御する
- get_date_info() list
日付と曜日を文字列のリストとして取得する status 1 -> 1
- get_odds_df_dict() Dict[str, DataFrame]
- get_race_list() list
その週に開催されている(されていた)レースの一覧について 文字列(レース名など)と、elementを取得する。 status 1 -> 1
- get_racecourse_list()
ページにアクセス&遷移し、レース一覧が存在するページを表示する。 status any -> 1
- get_renpuku_odds()
- get_rentan_odds()
- get_tansho_odds() DataFrame
- get_umaren_odds()
- get_umatan_odds()
- get_wide_odds()
- select_race(race_num: int)
レース一覧(12R)が表示されているページから1レースを選択する status 2 -> 3
- select_race_from_race_id(race_id, sleep_time=0.3) list
その週に開催されている(されていた)レースの一覧について 文字列(レース名など)と、elementを取得する。 status any -> 3
- select_racecourse(idx)
get_racecourse_listメソッド後に利用して、 レース場のその日のレース一覧(12R)を表示しているページに遷移。 status 1 -> 2
- visit_race_list_page()
JRAの公式にアクセスし、オッズタブを選択し、レース一覧ページを表示する status any -> 1
- class scraping.netkeiba.UmabashiraLimitedScraper
ベースクラス:
SoupScraperBase過去の情報を含まずに、今回のレース情報だけを馬柱から抽出する。 DatabaseScraperのmain_dfなどと照合できるようにレースIDと馬番号だけは残し、 main_dfやrace_infoなどに含まれている情報は抽出しない。
- get_umabashira(race_id: Union[str, int]) DataFrame