Command-line tool to scrape volleyball statistics from Data Project Web Competition websites
Project description
Volley Stats
Command-line tool to scrape volleyball statistics from Data Project Web Competition websites.
Volley Stats facilitates the export of data in CSV format of volleyball matches and competitions organized by entities that use Data Project WCM. The tool streamlines the collection of individual matches, match lists, and automates the retrieval of individual match data from the competition matches list.
Additionally, it documents the structure of URLs for Web Competition websites, simplifying the search for identifiers (mID, ID, PID), and also supplies acronyms for the main entities utilizing Data Project Management.
This tool is not affiliated with Genius Sports Italy.
Installation
Requirement
- Python 3.8+
pip install volleystats
Documentation
- Extracted Data
- Usage
- Data Project Web Competition URLs structure
- Hostname
- Pathnames and search parameters
- Federations, Confederations and Leagues Acronym
- European Volleyball
- South American Volleyball
- Troubleshooting
Extracted Data
-
Competition
- Competition ID
- Home Team
- Guest Team
- Home Points
- Guest Points
- Date
- Stadium
-
Match
- Match ID
- Match date
- Home Team
- Guest Team
- Coach
- Stadium
- Total Points
- Break Points
- Win-Lost
- Total Serves
- Serve Erros
- Serve Points
- Total Receptions
- Reception Erros
- Positive Pass Percentage (Pos%)
- Excellent/ Perfect Pass Percentage (Exc.%)
- Total Attacks
- Attack Erros
- Blocked Attack
- Attack Points (Exc.)
- Attack Points Percentage (Exc.%)
- Block Points
Usage
volleystats [--help] --fed FED (--match MATCH | --comp COMP | --batch CSV_FILE_PATH) [--pid PID] [--log]
--fed
,-f
: Federation Acronym (required)--match
,-m
: Statistics of a single match (required, unless--comp
or--batch
are provided)--comp
,-c
: List of matches in a competition (required, unless--match
or--batch
are provided)--pid
,-p
: PID of the competition (optional, only when--comp
is provided)--batch
,-b
: CSV file path with Match IDs (Competition Matches output) (required, unless--match
or--comp
are provided)--log
,-l
: View the logging during scraping--help
,-h
: Show help message
Match
volleystats --fed FED --match MATCH
Examples
-
Brazilian Volleyball Confederation
- Data Project website: https://cbv-web.dataproject.com/MatchStatistics.aspx?mID=1623
- Federation Acronym: CBV
- Match ID: 1623
- Command: $
volleystats --fed cbv --match 1623
- Output files:
data/cbv-1623-22-10-28-guest-baruerivolleyballclub.csv data/cbv-1623-22-10-28-home-fluminense.csv
-
Lithuanian Volleyball Federation
- Data Project website: https://lvf-web.dataproject.com/MatchStatistics.aspx?mID=2093
- Federation Acronym: LVF
- Match ID: 2093
- Command: $
volleystats --fed lvf --match 2093
- Output files:
data/lvf-2093-2022-11-23-guest-jonavossc.csv data/lvf-2093-2022-11-23-home-svaja-viktorija-lsu.csv
Competition Matches
volleystats --fed FED --comp COMP
Example
- Brazilian Volleyball Confederation
- Data Project website: https://cbv-web.dataproject.com/CompetitionMatches.aspx?ID=18
- Federation Acronym: CBV
- Competition ID: 18
- Command: $
volleystats --fed cbv --comp 18
- Output file:
data/cbv-18-2022-2023-competition-matches.csv
Competition Matches with PID
In some competitions, PID can be used to distinguish between seasons, such as regular season and playoffs. Therefore, it is necessary to submit this value to obtain statistics separately.
volleystats --fed FED --comp COMP --pid PID
Examples
- Bundesliga
- Data Project website: https://vbl-web.dataproject.com/CompetitionMatches.aspx?ID=162&PID=173
- Federation Acronym: VBL
- Competition ID: 162
- PID: 173
- Season: Regular
- Command: $
volleystats --fed vbl --comp 162 --pid 173
- Output file:
data/vbl-162-173-2022-2023-competition-matches.csv
- Data Project website: https://vbl-web.dataproject.com/CompetitionMatches.aspx?ID=162&PID=174
- Federation Acronym: VBL
- Competition ID: 162
- PID: 174
- Season: Playoffs
- Command: $
volleystats --fed vbl --comp 162 --pid 174
- Output file:
data/vbl-162-174-2023-2023-competition-matches.csv
Matches via Competition Matches file
volleystats --fed FED --batch CSV_FILE_PATH
Example
- Brazilian Volleyball Confederation
- Data Project website: https://cbv-web.dataproject.com/MatchStatistics.aspx?mID=ID
- Federation Acronym: CBV
- CSV file path (output of the Competition Matches): data/cbv-18-2022-2023-competition-matches.csv
- Command: $
volleystats --fed cbv --batch data/cbv-18-2022-2023-competition-matches.csv
- Output files:
data/cbv-1623-22-10-28-guest-baruerivolleyballclub.csv data/cbv-1623-22-10-28-home-fluminense.csv data/cbv-1618-2022-11-01-guest-energis8sãocaetano.csv data/cbv-1618-2022-11-01-home-esporteclubepinheiros.csv data/cbv-1619-2022-11-01-guest-abelmodavolei.csv data/cbv-1619-2022-11-01-home-gerdauminas.csv ...
Help
volleystats --help
Log
volleystats --fed FED (--match MATCH | --comp COMP | --batch CSV_FILE_PATH) --log
Output messages
.
|`.
| `.
|-_ `.
| -_ `._
____________________|____-_ _|_______________,
', -_| ',
', | ',
', | ',
',_____________________|______________________',
volleystats: started
volleystats: data/cbv-1623-22-10-28-home-fluminense.csv file was created
volleystats: data/cbv-1623-22-10-28-guest-baruerivolleyballclub.csv file was created
volleystats: finished
Data Project Web Competition URLs structure
-
Hostname:
<Fed_Acronym>
-web.dataproject.com -
Pathnames and search parameters:
-
/MainHome
-
/History?ID=
<Fed_ID>
-
/CompetitionHome?ID=
<Category_ID>
(could be Women, Men, Pro or Youth, e.g.) -
/CompetitionMatches?ID=
<Competition_ID>
&PID=<PID>
(PID could be regular season or playoffs, e.g.) -
/MatchStatistics?mID=
<Match_ID>
&ID=<Competition_ID>
-
Federations, Confederations and Leagues Acronyms
European Volleyball
fshv
: Albanian Volleyball Federationbvl
: Baltic Leaguebevl
: Belgium Volleyball Federationosbih
: Bosnia and Herzegovina Volleyball Federationbvf
: Bulgarian Volleyball Federationvbl
: Bundesligahos
: Croatian Volleyball Federationcvf
: Czech Volleyball Federationevf
: Estonian Volleyball Federationfbf
: Faroe Islands Volleyball Associationlml
: Finland Volleyball Leagueeope
: Hellenic Volleyball Federationhvl
: Hellenic Volleyball Leaguehvf
: Hungary Volleyball Federationbli
: Icelandic Volleyball Associationiva
: Israel Volleyball Associationfipav
: Italian Volleyball Federationvfrk
: Volleyball Federation of Republic of Kazakhstanlatvf
: Latvian Volleyball Federationlnv
: Ligue Nationale de Volleylvf
: Lithuanian Volleyball Federationmva
: Malta Volleyball Associationnvbf
: Norwegian Volleyball Federationfpv
: Portuguese Volleyball Federationfrv
: Romanian Volleyball Federationossrb
: Serbian Volleyball Federationsvf
: Slovak Volleyball Federationozs
: Slovenian Volleyball Federationrfevb
: Spanish Volleyball Federationsvbf
: Swedish Volleyball Federationswi
: Swiss Volleytvf
: Turkish Volleyball Federationuvf
: Ukrainian Volleyball Federationpvlu
: Professional Volleyball League of Ukraine
South American Volleyball
feva
: Argentine Volleyball Federationcbv
: Brazilian Volleyball Confederationfcv
: Cordoba Volleyball Federationfpdv
: Peruvian Volleyball Federation
Troubleshooting
Match files collected from batch file
In some cases, empty files may be returned, usually named as <fed_acronym>-<match_id>-guest_stats.csv
and <fed_acronym>-<match_id>-home_stats.csv
. This can happen due to the hiding of a match in the competition listing, either because it was canceled or incorrectly entered. The match is hidden from view, but it remains accessible in the HTML, causing the tool to return an empty file. In such cases, simply ignore and delete this file.
It can also happen that the data is only available in PDF, which makes scraping impossible.
Development
$ git clone git@github.com:claromes/volleystats.git
$ cd volleystats
$ pip install -r requirements.txt
$ pip install --editable .
Author
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file volleystats-0.8.1.tar.gz
.
File metadata
- Download URL: volleystats-0.8.1.tar.gz
- Upload date:
- Size: 27.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f692cc4e70c66482dfa0cee13fa57211b6da3ff6b975153bcae79a42c249c611 |
|
MD5 | 788f1f8269878f0c597b148bfc4e697f |
|
BLAKE2b-256 | 64789ff53dcdbe068fa2784ad61d86b24b1d589fa5f1dc4f07b98c341b4bdcb8 |
File details
Details for the file volleystats-0.8.1-py3-none-any.whl
.
File metadata
- Download URL: volleystats-0.8.1-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ffbb02c93ad27d98e3f127620aaa3fd97d282c4a797a58ad9d5415315663103 |
|
MD5 | 1ce3398e8a18dc5a5659c3d243488a2d |
|
BLAKE2b-256 | 2754071c9acd09685d136bf1b41819d1d0d3b9dee176d71d2e706196ced9a084 |