批量在中国气象中心网站检索下载数据

前几天嗓子不舒服之后就病了,不过现在好一点。最近师哥喊我通过国家气象中心网站帮他下载时间跨度比较长的气象数据,但是这个网站对不同的数据集检索有日期要求,也就是说有的数据集一次只能检索3个月的数据,如果你要下载十年的数据,就要检索四十次,而且由于它输入日期的方式比较麻烦,所以检索起来很费时间。
所以现在教大家怎么通过python自动检索数据并添加到数据筐。
本次代码主要依靠selenium+Python,浏览器我用的是Chrome浏览器以及相应的驱动Chromedriver,selenium可以通过pip安装,Chromedriver要去网上下载与浏览器版本一致的安装包,具体安装过程自行百度。

import time
from selenium import webdriverstart_year=2000 # 初始年份
end_year=2010 # 结束年份
driver= webdriver.Chrome()
driver.get('http://data.cma.cn/user/toLogin.html')
driver.refresh() # 刷新页面
driver.find_element_by_id("loginWeb").click()
vcode = input() # 在代码运行窗口(非浏览器窗口)填写验证码
print(vcode)
# 填写用户名 密码 验证码
driver.find_element_by_id("userName").send_keys("*******") # 填入用户名
driver.find_element_by_id("password").send_keys("********") # 填入密码
driver.find_element_by_id("verifyCode").send_keys(vcode)
driver.find_element_by_id("loginPage").click()
time.sleep(4)
for i in range(start_year,end_year+1):for j in range(1,5):driver.switch_to_window(driver.window_handles[0])driver.get("http://data.cma.cn/dataService/cdcindex/datacode/SURF_CLI_CHN_MUL_DAY_V3.0/show_value/normal.html") # 填入相应数据集检索页面的地址(就是输入日期页面的地址,该地址仅为示范)driver.find_element_by_id("dateS").clear()year = '%d' % imonth =j*3 - 2start_month = '%d' % (month)end_month = '%d' % (month+2) # 月份间隔为3个月driver.find_element_by_id("dateS").send_keys(year+"-"+start_month)driver.find_element_by_id("dateE").clear()driver.find_element_by_id("dateE").send_keys(year+"-"+end_month)driver.find_element_by_class_name("search-bt1210").click()driver.switch_to_window(driver.window_handles[1])time.sleep(4)driver.find_element_by_id("buttonAddCar").click()time.sleep(4)driver.close()
代码运行完后去数据筐里生成订单即可。

注意:该网站一天订单数不能超过45个,又由于本次数据集只能隔两个月检索一次,所以年份跨度选为十一年,最终只会产生44个订单。另外,该代码中间需要手动输入验证码,如果想要自动识别验证码,可以尝试一下学习这个库pytesseract,但是我试过后发现效果不太好,故如果想自动识别该网站的验证码,可以通过机器学习自己训练。。。(由于本次下载就需要登陆一次就好了,故手动输入验证码就行了,不用那么麻烦了)

另外下载后为一堆装满下载链接的txt文件,可以合并成一个txt文件复制所有下载链接到迅雷(或许有批量导入的功能?)将 copy *.txt anyname.txt 写入空记事本保存为.bat格式文件在下载文件目录下双击运行即可将所有txt合并成一个名为anyname的txt文件。

能用代码完成的事还是用代码做的好!不要用点点点浪费自己的时间!

爬虫学习——批量在中国气象中心网站检索下载数据相关推荐

  1. 【Python爬虫学习实践】基于BeautifulSoup的网站解析及数据可视化

    在上一次的学习实践中,我们以Tencent职位信息网站为例,介绍了在爬虫中如何分析待解析的网站结构,同时也说明了利用Xpath和lxml解析网站的一般化流程.在本节的实践中,我们将以中国天气网为例,并 ...

  2. 爬虫学习(一)---爬取电影天堂下载链接

    欢迎加入python学习交流群 667279387 爬虫学习 爬虫学习(一)-爬取电影天堂下载链接 爬虫学习(二)–爬取360应用市场app信息 主要利用了python3.5 requests,Bea ...

  3. 武汉大学IGS数据中心网站的下载方法

    目的 进行GNSS解算学习时,从书本中学到了算法.然而网上有不少现成的开源GNSS代码可以使用,这时需要数据样本,导入开源代码如RTKlib@Copyright © 2007-2013, T. Tak ...

  4. 爬虫学习 ----- 第二章 爬取静态网站 ---------- 03 . re 模块学习 ---- re屠戮电影天堂

    目录: 1. [案例]re屠戮电影天堂 1.目的: 1. 定位到2021新片精品 1. 出现错误??? 2. 网页乱码??? 2.从2021新片精品中提取到子页面的链接地址 3.请求子页面的链接地址, ...

  5. python爬取web漫画网站_[Python爬虫学习]利用selenuim爬取漫画网站

    注意事项 版本 Python版本为 Python-3.8.3 系统为 Windows10 浏览器为 Firefox-77.0 前置 \(selenium\) \(BeautifulSoup\) \(r ...

  6. 爬虫学习笔记:天猫(淘宝)评论数据爬虫

    目录 1.杂语 2.目的和方法 2.1 目的 2.2 爬虫方法 step1:获取cookie信息与评论url地址 step2:获取请求头信息user-agent step3:查看评论数据 step4: ...

  7. 欧洲气象中心资料(ERA)下载方法

    文章目录 1 进入ERA网址 2 登陆 3 选择资料类型 3.1 点击左上角的Type of level, ERA Interim Fields 3.2 ERA Interim Fields 3.2. ...

  8. 获取iframe嵌套页面的数据_爬虫学习十二之案例开发获取搜索页面数据

    准备一个定时任务 准备一个运行类 将之前封装的HttpClient拿过来,放到一个utils包中 编写定时类的定时方法 我们在京东中搜索手机,可以看到URL 点击下一页,观察URL的变化 其中page ...

  9. 欧洲气象中心资料(ERA-interim)下载方法简介

    部分原文论坛链接:http://bbs.06climate.com/forum.php?mod=viewthread&tid=13288&extra=&page=1 时间间隔, ...

最新文章

  1. SQL Server 字符串操作
  2. .net mvc actionresult 返回字符串_072-SpringMVC后端控制器接收参数、处理器方法返回值类型、拦截器、文件上传下载...
  3. C语言程序的内存四区模型
  4. nginx + uWSGI 提高 Django的并发性(看着不错)
  5. Flutter入门:dart基础
  6. nginx_lua 学习网站
  7. 某小型校园网规划与设计要点(课程报告)
  8. 一、经含氟防水剂整理的织物主要存在的不足?
  9. 苹果已开始研发蜂窝调制解调器 不只是用于iPhone
  10. 欧易OKEx交易大数据:BTC合约多空持仓人数比0.98,合约持仓总量为24.90亿美元
  11. c#2.0语法新关键字 partial
  12. Jenkins控制台出现中文乱码
  13. Pig 实现关键词匹配
  14. 【软件相关】win10自带软件“画图”的妙用
  15. 百兆和千兆直通线与交叉线的制作方法
  16. odoo异常:Expected singleton: res.users()
  17. Java学习笔记22:并发(2)
  18. 2022—SWJTU-寒假ACM校队选拔赛第一场-题解
  19. 鹦鹉用 Echo 购物成功?浙大“海豚攻击”不服
  20. js实现粒子特效,particles.js的使用

热门文章

  1. RV1109 SPI调试
  2. C51 项目笔记 |Mifare RFID-RC522模组实验
  3. cityscapes数据处理
  4. 在云边公益——互联网金融与公益的完美结合
  5. 学习通项目需要用到的
  6. Docker学习笔记-快速上手笔记(保姆级)
  7. mysql中avg函数如果有空值_SQL中AVG、COUNT、SUM、MAX等聚合函数对NULL值的处理
  8. 仿360手机助手下载按钮
  9. 玩转Windows个性化登录界面 (更换Windows7登录界面图片/XP仿Win7登录界面)
  10. MAC电脑 安全与隐私 中没有任何来源选项怎么办