競馬

class scraping.netkeiba.AutoBuyer(executable_path: str, demo: bool = True, wait_time: float = 10)

ベースクラス: SeleniumScraperBase

IPATで買い目を自動登録するためのクラス

メモ

買い目を自動入力する際に、投票内容をセットするボタンが 画面下側に無い状態(右側にある状態)で実行しないと、 ボタンが隠れてクリックできず、エラーになる。

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

馬の過去成績データをスクレイピングするクラス

get_horseresults(horse_id)

Parameters:

horse_idUnion[str, int]

馬ID

Returns:

pandas.DataFrame

馬の過去成績データのDataFrame

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)

ベースクラス: SoupScraperBase

Netkeibaの静的サイトのスクレイピングに使うベースクラス

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)

ベースクラス: SeleniumScraperBase

JRA公式サイトからほぼリアルタイムのオッズ情報をスクレイピングするクラス。

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
class scraping.netkeiba.UmabashiraScraper

ベースクラス: object

入力されたレースIDに従って馬柱を取得するクラス

get_umabashira(race_id: Union[str, int]) DataFrame

馬柱情報をDataFrame形式で取得する。

パラメータ

race_id (str or int) -- 8桁のレースID