PHPackages                             bvp/boatrace-scraper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bvp/boatrace-scraper

Abandoned → [bvp/scraper](/?search=bvp%2Fscraper)Library[Utility &amp; Helpers](/categories/utility)

bvp/boatrace-scraper
====================

Boatrace Vibe Project Scraper

12.1.0(1w ago)311.4kMITPHPPHP ^8.3CI passing

Since Oct 2Pushed 1w ago1 watchersCompare

[ Source](https://github.com/boatracevibeproject/scraper)[ Packagist](https://packagist.org/packages/bvp/boatrace-scraper)[ RSS](/packages/bvp-boatrace-scraper/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (6)Dependencies (27)Versions (27)Used By (0)

Scraper
=======

[](#scraper)

[![php](https://camo.githubusercontent.com/cfb3eeb2ca5d98cc58b09548fdee7eb60fb5236ada1a46b14c4bfa8d90f447ca/68747470733a2f2f706f7365722e707567782e6f72672f6276702f736372617065722f726571756972652f706870)](https://packagist.org/packages/bvp/scraper)[![stable](https://camo.githubusercontent.com/56391952289dfaca57fe560431d7eb4fd2c37e1e7f9d20a2eb3044a39ece0976/68747470733a2f2f706f7365722e707567782e6f72672f6276702f736372617065722f762f737461626c65)](https://packagist.org/packages/bvp/scraper)[![license](https://camo.githubusercontent.com/d89f3201bc7d410a38a14145d7e02c2ba98ec6ecca1983144c501d571087975e/68747470733a2f2f706f7365722e707567782e6f72672f6276702f736372617065722f6c6963656e7365)](https://packagist.org/packages/bvp/scraper)

[![test](https://github.com/boatracevibeproject/scraper/actions/workflows/test.yml/badge.svg)](https://github.com/boatracevibeproject/scraper/actions/workflows/test.yml)[![psalm](https://github.com/boatracevibeproject/scraper/actions/workflows/psalm.yml/badge.svg)](https://github.com/boatracevibeproject/scraper/actions/workflows/psalm.yml)[![audit](https://github.com/boatracevibeproject/scraper/actions/workflows/audit.yml/badge.svg)](https://github.com/boatracevibeproject/scraper/actions/workflows/audit.yml)[![keepalive](https://github.com/boatracevibeproject/scraper/actions/workflows/keepalive.yml/badge.svg)](https://github.com/boatracevibeproject/scraper/actions/workflows/keepalive.yml)[![dependabot-updates](https://github.com/boatracevibeproject/scraper/actions/workflows/dependabot/dependabot-updates/badge.svg)](https://github.com/boatracevibeproject/scraper/actions/workflows/dependabot/dependabot-updates)

BVP Scraper は、ボートレースの公式サイトから出走表、直前情報、オッズ、結果をスクレイピングするための PHP ライブラリです。

v10 以降は、後継ライブラリである [turnmark/scraper](https://github.com/turnmark/turnmark) とは異なる方向性を持つ派生として、以下の 2 点に力を入れています。

- **鮮度に応じたキャッシュ**: 確定済みの過去日のレースは不変とみなし、キャッシュに永続化。バックフィル用途で同じ日付を何度も取り直す必要がなくなります。
- **インスタンス単位の並行実行**: レート制御・キャッシュ参照をインスタンススコープに保持するため、プロキシやワーカーごとに複数の `Scraper` インスタンスを同一プロセス内で干渉なく並行運用できます。

📦 Requirements
--------------

[](#-requirements)

- php: ^8.3
- nesbot/carbon: ^2.63 || ^3.0
- psr/simple-cache: ^3.0
- symfony/browser-kit: ^7.0 || ^8.0
- symfony/cache: ^7.0 || ^8.0
- symfony/css-selector: ^7.0 || ^8.0
- symfony/http-client: ^7.0 || ^8.0

💾 Installation
--------------

[](#-installation)

```
composer require bvp/scraper
```

⚡ Usage
-------

[](#-usage)

### サポートメソッド一覧

[](#サポートメソッド一覧)

`Scraper` はインスタンスベースの API です。静的なシングルトンファサードは提供していません（後述）。

メソッド説明引数`scrapeProgram($date, $stadiumNumber, $raceNumber)`出走表を取得`$date` : Carbon対応日付文字列またはCarbonインスタンス
`$stadiumNumber` : 1〜24
`$raceNumber` : 1〜12`scrapePreview($date, $stadiumNumber, $raceNumber)`直前情報を取得同上`scrapeOdds($date, $stadiumNumber, $raceNumber)`全オッズ（7種）を取得同上`scrapeWin` / `scrapePlace` / `scrapeExacta` / `scrapeQuinella` / `scrapeQuinellaPlace` / `scrapeTrifecta` / `scrapeTrio`単勝・複勝・2連単・2連複・拡連複・3連単・3連複のオッズを個別に取得同上`scrapeSingle` / `scrapePair` / `scrapeTriple`単勝・複勝 / 2連単・2連複・拡連複 / 3連単・3連複をまとめて取得同上`scrapeResult($date, $stadiumNumber, $raceNumber)`結果を取得同上`scrapeStadium($date)`開催中の場を取得`$date` のみ一括取得は `BatchScraper` が提供します。メソッド名は `Scraper` と同名で、引数だけが一括用（`$stadiumNumber`/`$raceNumber` → `$stadiumNumbers`/`$raceNumbers`）になります。

メソッド説明引数`scrapeProgram($date, $stadiumNumbers = [], $raceNumbers = [])`出走表を一括取得`$stadiumNumbers`/`$raceNumbers` 省略時はその日開催している全場・全レース`scrapePreview` / `scrapeOdds` / `scrapeResult`同上の一括取得版同上`scrapeWin` / `scrapePlace` / `scrapeExacta` / `scrapeQuinella` / `scrapeQuinellaPlace` / `scrapeTrifecta` / `scrapeTrio`同上の一括取得版同上`scrapeSingle` / `scrapePair` / `scrapeTriple`同上の一括取得版同上**$date の例**

- `'2025-01-01'`
- `'2025/01/01'`
- `'yesterday'`
- `Carbon::now()->subDay()`

### 基本的な使い方

[](#基本的な使い方)

```
