Extract league rankings from the DBB (Deutscher Basketball Bund e.V.) website.
Project description
Extract league rankings from the DBB (Deutscher Basketball Bund e.V.) website.
This library has been extracted from the web application behind the website of the BTB Royals Oldenburg (a basketball team from Oldenburg, Germany) where it has proven itself for many, many years.
Requirements
Installation
Install this package via pip:
$ pip install dbb-ranking-parser
Because of the dependency on lxml, this will also require the header files for the targeted Python version as well as those for libxml2 and libxslt.
On Debian Linux, one should be able to install these from the distribution’s repositories (as the ‘root’ user):
# aptitude update
# aptitude install python3.4-dev libxml2-dev libxslt1-dev
Apart from that (for example, if those packages are not yet installed) it might be easier to install Debian’s pre-built binary packages for lxml instead:
# aptitude update
# aptitude install python-lxml
Usage
To fetch and parse a league ranking, the appropriate URL is required.
It can be obtained on the DBB website. On every league’s ranking page there should be a link to a (non-“XL”) HTML print version.
Its target URL should look like this (assuming the league’s ID is 12345): http://www.basketball-bund.net/public/tabelle.jsp?print=1&viewDescKey=sport.dbb.views.TabellePublicView/index.jsp_&liga_id=12345
The league ID has to be identified manually in any of the URLs specific for that league (ranking, schedule, stats).
For convenience, specifying only the league ID is sufficient; the URL will be assembled automatically. (Obviously, this might break when the URL structure changes on the DBB website.)
Programmatically
from dbbrankingparser import load_ranking_for_league
league_id = 12345
ranking = list(load_ranking_for_league(league_id))
top_team = ranking[0]
print('Top team:', top_team['name'])
The URL can be specified explicitly, too:
from dbbrankingparser import load_ranking_from_url
URL = '<see example above>'
ranking = list(load_ranking_from_url(URL))
Note that a call to a load_ranking_* method returns a generator. To keep its elements around, and also to access them by index, they can be fed into a list (as shown above).
On the Command Line
The package includes a command line script to retrieve a league’s rankings non-programmatically, as JSON. It requires a league ID as its sole argument:
$ dbb-ranking 12345
[{"name": "Team ACME", "rank": 1, …}]
- Copyright:
2006-2016 Jochen Kupperschmidt
- Date:
06-Mar-2016
- License:
MIT, see LICENSE for details.
- Version:
0.2
- Website:
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
Hashes for dbb_ranking_parser-0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b87a9fe9bee3bf60f368cfa2be27f03eef134934de554c9c34ef921c34fe9225 |
|
MD5 | 7ff80eeb6e53ce9ed73a828fc24158fd |
|
BLAKE2b-256 | 346e155f86efbcaa453289ae12d7b3ca799a5bba033a9e2da352235a4408effc |