一个 Python 包,用于抓取 NBA api 并返回一个播放文件
项目描述
nba_scraper
csv这是一个用 Python 编写的包,用于抓取 NBA 的 api,并在文件或数据框中生成逐场比赛的比赛pandas。这个包有两个主要功能scrape_game,可以抓取单个比赛或特定比赛的列表,以及scrape_season抓取整个赛季的常规赛比赛。
刮板可以追溯到 1999-2000 赛季,它将随着每场比赛时场上的球员一起逐场推进。也可以计算一些其他各种统计数据。
从 1.0.8 版本开始,刮板现在将刮取 WNBA 比赛和 NBA 比赛。只需调用wnba_scrape_game而不是scrape_game. 参数和用法与函数完全相同scrape_game。截至目前,我知道它可以追溯到 2005 赛季,可能还没有经过测试。请注意,由于需要额外的 api 调用来提取 NBA api 本身中现成的球员姓名,因此它比 nba 爬虫慢得多。
安装
要安装这个包,只需在命令行输入:
pip install nba_scraper
用法
scrape_game
默认数据格式是 pandas 数据框,您可以使用data_format参数将其更改为 csv。默认文件路径是用户主目录,您可以使用data_dir参数更改它
import nba_scraper.nba_scraper as ns
# if you want to return a dataframe
# you can pass the function a list of strings or integers
# all nba game ids have two leading zeros but you can omit these
# to make it easier to create lists of game ids as I add them on
nba_df = ns.scrape_game([21800001, 21800002])
# if you want a csv if you don't pass a file path the default is home
# directory
ns.scrape_game([21800001, 21800002], data_format='csv', data_dir='file/path')
scrape_season
data_format和关键字的data_dir使用方式与 excat 相同
scrape_game。但是,您可以将想要抓取的季节传递给该函数,而不是游戏 ID。这个季节是一个四位数的年份,必须是整数。
import nba_scraper.nba_scraper as ns
#scrape a season
nba_df = ns.scrape_season(2019)
# if you want a csv if you don't pass a file path the default is home
# directory
ns.scrape_season(2019, data_format='csv', data_dir='file/path')
scrape_date_range
这允许您在传递给函数的日期范围内抓取所有常规赛比赛。截至目前,它不会刮掉季后赛。日期格式必须以 format 传递YYYY-MM-DD。
import nba_scraper.nba_scraper as ns
#scrape a season
nba_df = ns.scrape_date_range('2019-01-01', 2019-01-03')
# if you want a csv if you don't pass a file path the default is home
# directory
ns.scrape_date_range('2019-01-01', 2019-01-03', data_format='csv', data_dir='file/path')
接触
如果您有任何问题或错误,请打开问题/错误报告。如果您有任何改进/建议,请提交拉取请求。如果它不属于这两个领域,请随时通过 matt@barloweanalytics.com给我发送电子邮件。
项目详情
nba_scraper -1.0.10.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 4df27c9725f69366fa24848a64bbfb46a59649626d8f32680fe9e14ee765c16c |
|
| MD5 | 8845ffee2669914fb38ae00f1d899dc1 |
|
| 布莱克2-256 | b130c88769c57562deb67442a1ce0e84a876d8ca22b5c4b990b2251d59a092c5 |