使用python爬取https://www.kaggle.com/datasets/ariyoomotade/netflix-data-cleaning-analysis-and-visualization上的数据集,并保存在本地文件中
时间: 2023-12-27 12:03:35 浏览: 119
好的,爬取Kaggle上的Netflix数据集是一个比较常见的任务,我可以为你提供一个基本的代码框架来完成这项任务。请注意,在爬取Kaggle数据集之前,你需要在Kaggle上注册并获取API密钥。
```python
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
import os
# 设置API密钥
KAGGLE_USERNAME = 'your_username'
KAGGLE_KEY = 'your_key'
# 设置数据集名称和文件路径
dataset_name = 'ariyoomotade/netflix-data-cleaning-analysis-and-visualization'
file_name = 'netflix_titles.csv'
file_path = './data/' + file_name
# 设置下载文件的URL
url = 'https://www.kaggle.com/{}/download/{}'.format(dataset_name, file_name)
# 设置请求头
headers = {'Authorization': 'Bearer {}'.format(KAGGLE_KEY)}
# 设置重试次数
retry_strategy = Retry(
total=3,
status_forcelist=[429, 500, 502, 503, 504],
method_whitelist=["HEAD", "GET", "OPTIONS"]
)
adapter = HTTPAdapter(max_retries=retry_strategy)
http = requests.Session()
http.mount("https://", adapter)
http.mount("http://", adapter)
# 发送请求并下载文件
response = http.get(url, headers=headers)
if response.status_code != 200:
raise ValueError('Failed to download file: {}'.format(response.content))
# 保存文件
os.makedirs(os.path.dirname(file_path), exist_ok=True)
with open(file_path, 'wb') as f:
f.write(response.content)
print('Downloaded file: {}'.format(file_path))
```
这段代码会根据你提供的API密钥、数据集名称和文件路径,从Kaggle上下载数据集文件并保存在本地。请将代码中的`your_username`和`your_key`替换为你在Kaggle上的用户名和API密钥。同时,你也可以根据需要修改文件路径和文件名。
阅读全文