入门攻略
MCP提交
探索
Firstcycling Api
内容详情
替代品
第一个骑行API
一个非官方的Python API封装库,用于访问https://firstcycling.com/。
使用方法
当前API封装库支持以下端点:
- 赛事页面
- 骑手页面
- 排名页面
下面是一些示例:
有关完整文档,请参阅https://firstcyclingapi.readthedocs.io/en/latest/。
赛事结果:
>>> from first_cycling_api import RaceEdition
>>> amstel_2019 = RaceEdition(race_id=9, year=2019) # race_id来自赛事页面URL
>>> amstel_2019.results().results_table.head() # 返回一个包含赛事结果的pandas DataFrame
Pos | Rider | Team | Time | UCI | Rider_ID | Rider_Country | Team_ID | |
---|---|---|---|---|---|---|---|---|
0 | 1 | Michael Valgren | Team Sunweb | 3:24:68 | 27 | 7569 | DEN | 27 |
1 | 2 | Alexander Kristoff | UAE Emirates | N/A | 10 | 581 | NOR | 43 |
2 | 3 | Jakob Fuglsang | Astana Pro Team | N/A | 7 | 1970 | DEN | 15 |
3 | 4 | Rui Costa | Team Sky | N/A | 6 | 885 | POR | 29 |
4 | 5 | Joaquim Rodríguez | Movistar Team | N/A | 5 | 130 | ESP | 24 |
骑手结果:
>>> from first_cycling_api import RiderResults
>>> rider_results = RiderResults(rider_id=7569, year=2019)
>>> rider_results.results.head() # 返回一个包含指定骑手比赛结果的pandas DataFrame
Race ID | Date | Stage | Position | Team | Time | |
---|---|---|---|---|---|---|
0 | 1357 | 2019-03-16 | Final General | 1 | Team Sunweb | 3:24:68 |
1 | 1358 | 2019-03-17 | Stage 1 | 4 | Team Sunweb | N/A |
2 | 1359 | 2019-03-18 | Stage 2 | 6 | Team Sunweb | N/A |
3 | 1360 | 2019-03-20 | Stage 3 | 5 | Team Sunweb | N/A |
4 | 1361 | 2019-03-21 | Stage 4 | 3 | Team Sunweb | N/A |
排名表:
>>> from first_cycling_api import RankingTable
>>> ranking = RankingTable(rank=1, y=2020, page=2) # 参数来自对应的URL
>>> ranking.table.head() # 返回一个包含排名表的pandas DataFrame
Pos | Rider | Nation | Team | Points | Rider_ID | Team_ID | Team_Country | |
---|---|---|---|---|---|---|---|---|
0 | 1 | Egan Bernal | Colombia | INEOS Grenadiers | 425 | 58275 | 17536 | GBR |
1 | 2 | Bauke Mollema | Netherlands | Trek-Segafredo | 420 | 581 | 17540 | USA |
2 | 3 | Tim Declercq | Belgium | Deceuninck-Quick Step | 415 | 1970 | 17529 | BEL |
3 | 4 | Oliver Naesen | Belgium | AG2R La Mondiale | 411 | 22682 | 17524 | FRA |
4 | 5 | Alex Aranburu | Spain | Astana Pro Team | 410 | 27307 | 17525 | KAZ |
贡献
欢迎贡献!请随时打开问题、拉取请求和/或讨论。
特别是,以下领域有改进的空间:
- 映射更多端点(例如以https://firstcycling.com/team.php开头的页面)
- 解析来自更多页面的结果(例如赛事出发名单、赛事统计)
要运行测试,请先pip install pytest
和pip install vcrpy
。然后在根目录的shell中运行py.test
。
许可证
见LICENSE文件。此项目与firstcycling.com没有任何关联。