网站首页 > 技术教程 正文
工具箱
python批量下载数据
现在很多数据提供HTTPServer下载服务,在这里介绍一种普遍适用的利用URL批量下载数据的python方法。
01
前言
很多数据支持FTP下载,也提供OPeNDAP方式下载。两者的差异是显而易见的:
(1)FTP下载的数据量很大,因为是全球模式,一个要素如流速东分量可能在1000MB左右的量级,365天累计下来是天量。国内的网速几乎是不可能支持的,另外,存储容量也不允许。
(2)OPeNDAP方式可以指定区域、时间、要素下载,换言之,大家按需索取,针对性要强很多。
02
Requests库
Requests 是用Python语言编写,基于urllib,采用Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求。
py库安装
pip install requests
导入所需要的包
import requests
03
单个数据下载
import requests
url = 'http://thredds.northwestknowledge.net:8080/thredds/fileServer/TERRACLIMATE_ALL/data/TerraClimate_ws_2010.nc'
filename= url.split("data/")[1]#取url最后一些关键字作为数据命名
print ("正在下载:",filename)
download = requests.get(url,stream=True )
with open("自设路径/"+filename, "wb") as code:#"wb" 以二进制写方式打开,只能写文件
code.write(download.content)
print("结束,",download.status_code)
#out
正在下载:TerraClimate_ws_2010.nc
结束, 200
04
批量下载
一:时间序列数据
一般时间序列数据的url都有规律可循,即只改变url中的时间,对于这种,我们只要改变url中的时间后循环get即可
import requests
for yr in range(1990,2021):
url='h ttp://thredds.northwestknowledge.net:8080/thredds/fileServer/TERRACLIMATE_ALL/data/TerraClimate_ws_'+str(yr)+'.nc'
filename= url.split("data/")[1]#取url最后一些关键字作为数据命名
print ("正在下载:",filename)
download = requests.get(url,stream=True )
with open("自设路径/"+filename, "wb") as code:#"wb" 以二进制写方式打开,只能写文件
code.write(download.content)
print("结束,",download.status_code)
二:非时间序列
url无规律可循,批量下载时就可以把url先保存在文本里,根据一种循环读取文本中的url后get即可。
问题:用这个方法看不到单个数据的下载进程,如果卡住发现不了,只能判断单个数据下载“结束”。
猜你喜欢
- 2024-11-12 电脑文件杂乱?这5个高效分类管理软件,一秒快速查找~
- 2024-11-12 用FTP备份WordPress数据与恢复(wordpress如何备份)
- 2024-11-12 用搜索神器Everything定位Webshell木马后门
- 2024-11-12 介绍一款高效率文件搜索工具Everything
- 2024-11-12 文件搜索太慢?Everything助你一键搞定
- 2024-11-12 白帽子黑客与网络安全工程师 : 搭建FTP渗透测试环境技巧
- 2024-11-12 【伍屿建筑i】NO.010期——文件搜索软件推荐 Everything
- 2024-11-12 Mac文件搜索工具(mac文件搜索怎么都不精确)
- 2024-11-12 推荐一款职场文件搜索工具软件 实用如其名
- 2024-11-12 再见,Xshell!再见,Xftp!真香国产免费ssh终端来袭
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)