from selenium import webdriver
import os
import time
# https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25.pl?file=gfs.t00z.pgrb2.0p25.f000&all_lev=on&all_var=on&subregion=&leftlon=103&rightlon=110&toplat=30&bottomlat=24&dir=%2Fgfs.20200109%2F00
chromedriver = "F:/xxx/xxx/chromedriver" # 驱动程序所在的位置
os.environ["webdriver.chrome.driver"] = chromedriver # 将驱动程序三位路径计入到系统路径中
# 创建Chrome浏览器配置对象实例
chromeOptions = webdriver.ChromeOptions()
# 设定下载文件的保存目录
# 如果该目录不存在,将会自动创建
prefs = {"download.default_directory": "C:\\Users\ECIDI\Downloads\\1-21"}
# 将自定义设置添加到Chrome配置对象实例中
chromeOptions.add_experimental_option("prefs", prefs)
# 启动带有自定义设置的Chrome浏览器
driver = webdriver.Chrome(chromedriver, \
chrome_options=chromeOptions)
driver.maximize_window() # 窗口最大化(无关紧要哈)
for i in range(1, 76): # 取值从1~75,表示从1到75个小时的预测时长上的
# print(type(i))
if i < 10:
i = "00%d" % i
elif i < 100:
i = "0%d" % i
else:
i = str(i)
for j in [0, 6, 12, 18]: # 表示数据发布的时间分别是00,06,12,18
if j < 10:
j = "0%d" % j
elif j < 100:
j = "%d" % j
else:
j = str(j)
path = "https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25.pl?file=gfs.t" + j + "z.pgrb2.0p25.f" + i + "&all_lev=on&all_var=on&subregion=&leftlon=103&rightlon=110&toplat=30&bottomlat=24&dir=%2Fgfs.20200121%2F" + j
print('path', path)
driver.get(path) # 打开网址
print('开始休眠等待浏览器将数据下载完成')
time.sleep(60)
driver.quit()
2020/2/12
问题描述
出现数据下载失败,将拼接好的网址直接输入到浏览器的地址栏能够正常触发浏览器下载数据;当执行上面的代码的时候浏览器出现下载窗口但是数据下载失败,下载框提示“失败-下载错误”。当将网址改变为百度首页的时候代码可以正常打开网址。
2020/2/14
将该文档中的代码下载后运行能正常使用,个别时段的数据出现连接错误,大部分时段数据下载正常,未出现下载失败字样
问题产生的原因
经过测试出现“失败-下载错误”字样是由于在设置默认存储地址自动生成目录的时候后边多了一个空格导致的