批量下载科研数据

11 篇文章 5 订阅
1 篇文章 0 订阅

批量下载科研数据(纪念我的第一个爬虫)

最近需要下载NASA的一些全球数据集,由于时间序列较长,一个个点链接下太费劲,就搞了一个简单的爬虫,以供大家方便下载数据。

环境

python3.6、requests、pandas、time、chrome

前期工作

我要下载的是GLDAS数据集,这个集合中包含不同尺度的数据,首先在https://disc.gsfc.nasa.gov/information/data-release?title=New%20and%20Reprocessed%20GLDAS%20Version%202%20Data%20Products%20Released找到所需的数据集。进入相应网页。
在这里插入图片描述
这是我需要的数据集,首先点击login登录。
在这里插入图片描述
按f12进入开发者模式,查找自己的cookie 和 user-agent。在这里插入图片描述
最后在登录后的页面点击get data进入数据选择页面。
在这里插入图片描述
选好后点击Download links list,即可下载所有数据的URL。
在这里插入图片描述

导入包并读取所有数据的URL

import requests
import pandas as pd
import time
data_list = pd.read_table(r"数据连接地址",header=None)

编写爬虫

由于下载数据需要登录,我们提取到的cookie 和 user-agent需要传入。

Cookieinfo = "your cookie"
User = "your user-agent"
headers = {'Cookie': Cookieinfo,
           'User-Agent': User
           }

然后,利用循环,读取每一个URL,并解析。

for i in range(0,data_list.shape[0]):
    url = data_list.loc[i].values[0]
    # 利用split取出文件名字
    s = url.split("=")[4]
    print(s)
    name = s.split("&")[0]
    print(name)
    # get URL
    r = requests.get(url, headers=headers)
    print(r)
    # 以wb形式储存下载好的文件
    with open(name, "wb") as code:
            code.write(r.content)
    # 为了反扒,做了一点儿延迟
    time.sleep(20)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值