使用python爬取https://www.kaggle.com/datasets/sudhanshu2198/oil-spill-detection上的数据集,并保存在本地文件中,给出详细代码...
时间: 2023-08-22 09:07:22 浏览: 91
爬虫代码,数据集寻找加自动分类,训练集,测试集自动生成!下载就可用,python
好的,以下是使用Python爬取Kaggle上的数据集的详细代码:
```python
import os
import requests
from bs4 import BeautifulSoup
# 设置请求头,模拟浏览器访问
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"
}
# 需要登录Kaggle账号才能访问数据集,所以需要先从浏览器中获取到cookies信息
cookies = {
"kaggle_session": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
# 目标数据集的URL
url = "https://www.kaggle.com/datasets/sudhanshu2198/oil-spill-detection"
# 发起请求,获取页面源代码
response = requests.get(url, headers=headers, cookies=cookies)
soup = BeautifulSoup(response.text, "html.parser")
# 找到下载按钮所在的div,并获取其链接
download_div = soup.find("div", {"class": "download-button"})
download_link = download_div.find("a")["href"]
# 发起下载请求,并保存到本地文件中
response = requests.get(download_link, headers=headers, cookies=cookies)
with open(os.path.join("data", "oil_spill_detection.zip"), "wb") as f:
f.write(response.content)
print("数据集下载完成!")
```
需要注意的是,代码中的`kaggle_session`需要替换为你自己的Kaggle登录后获取到的session信息。此外,代码中的下载链接可能随时会变化,如果无法正常下载,可以尝试手动获取最新的下载链接。
阅读全文