流式传输HTTP内容,但在Python中完全跳过下载某些行

2024-06-03 02:35:08 发布

您现在位置:Python中文网/ 问答频道 /正文

编辑-此问题已部分解决。具体的实现细节还没有弄清楚,但答案是使用HTTP范围头,正如Ezequiel的评论所述

如果我的解释不够清楚,我尝试在这里复制过程:https://www.cpc.ncep.noaa.gov/products/wesley/fast_downloading_grib.html在python中

编辑:从一位朋友善意的建议中,我找到了部分解决方案。我需要使用get请求获取一个特定的字节范围——这就是NOAA的PERL脚本所做的一切

我试图从一个“GRIB”文件中只下载几个字段,这是国家气象局使用的一种类似数组的格式。它位于特定的HTTPS url,例如https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.20201209/00/gfs.t00z.pgrb2.0p25.f000。但非常具体地说,我只需要下载与我相关的行,例如第5行、第10行和第30行。我完全不想下载其他行的内容,但我不确定这里请求库的低级行为(或合适的替代方案)


Tags: 答案httpshttp编辑过程www评论细节
1条回答
网友
1楼 · 发布于 2024-06-03 02:35:08

这应该是代码:

req = request.get('https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.20201209/00/gfs.t00z.pgrb2.0p25.f000',stream=True)
for line in req.iter_lines():
    next(line)
    x2 = next(line)

相关问题 更多 >