python怎么爬取气象台每日天气图代码
发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,今天就跟大家聊聊有关python怎么爬取气象台每日天气图代码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言中央气象台网站更新后,以前的爬虫
千家信息网最后更新 2025年02月11日python怎么爬取气象台每日天气图代码
今天就跟大家聊聊有关python怎么爬取气象台每日天气图代码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
前言
中央气象台网站更新后,以前的爬虫方式就不太能用了,我研究了一下发现主要是因为网站上天气图的翻页模式从点击变成了滑动,页面上的图片src也只显示当前页面的,因此,按照网络通俗的方法去爬取就只能爬出一张图片。看了一些大佬的教程后自己改出来一个代码。
1.安装Selenium
Selenium是一个Web的自动化(测试)工具,它可以根据我们的指令,让浏览器执行自动加载页面,获取需要的数据等操作。
pip install selenium
2. 安装chromedriver
Selenium 自身并不具备浏览器的功能,Google的Chrome浏览器能方便的支持此项功能,需安装其驱动程序Chromedriver
下载地址:http://chromedriver.storage.googleapis.com/index.html
在google浏览器的地址栏输入‘chrome://version/’,可以查看版本信息,下载接近版本的就可以。
3.代码
从图里可以看到,向前翻页指令对应的id是'prev'
from selenium import webdriver ## 导入selenium的浏览器驱动接口from selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.support.ui import Selectimport timeimport osimport urllib.requestlevel=['地面','925hPa','850hPa','700hPa','500hPa','100hPa'] chrome_driver = '路径/chromedriver.exe' #chromedriver的文件位置driver = webdriver.Chrome(executable_path = chrome_driver) #加载浏览器驱动driver.get('http://www.nmc.cn/publish/observations/china/dm/weatherchart-h000.htm') #打开页面time.sleep(1)#模拟鼠标选择高度层for z in level: button1=driver.find_element_by_link_text(z) #通过link文字精确定位元素 action = ActionChains(driver).move_to_element(button1) #鼠标悬停在一个元素上 action.click(button1).perform() #鼠标单击 time.sleep(1) for p in range(0,6): #下载最近6个时次的天气图 str_p=str(p) #模拟鼠标选择时间 button2=driver.find_element_by_id('prev') #通过id精确定位元素 action = ActionChains(driver).move_to_element(button2) #鼠标悬停在一个元素上 action.click(button2).perform() #鼠标单击 time.sleep(1) #模拟鼠标选择图片 elem_pic = driver.find_element_by_id('imgpath') #通过id精确定位元素 action = ActionChains(driver).move_to_element(elem_pic) #action.context_click(elem_pic).perform() #鼠标右击 filename= str(elem_pic.get_attribute('src')).split('/')[-1].split('?')[0] #获取文件名 #获取图片src src1=elem_pic.get_attribute('src') if os.path.exists('存图路径/'+z+'') is not True : os.makedirs('存图路径/'+z+'') urllib.request.urlretrieve(src1 , '存图路径/'+z+'/'+filename) print(filename) time.sleep(1)
然后就可以轻松的爬取所有图片
看完上述内容,你们对python怎么爬取气象台每日天气图代码有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
鼠标
浏览器
浏览
元素
图片
代码
天气
天气图
路径
气象台
精确
内容
页面
定位
选择
驱动
气象
功能
地址
指令
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
社区服务器和集群
华为服务器400客服
网络安全ap是什么
软件开发 增值税6%
kms服务器激活安全性
北京鲨游网络技术有限公司
数据库连接池技术原理
微软服务器集群
数据库表的管理实验总结
巨人通力默纳克服务器
服务器证书安全
系统服务器异常
数据库数据统计分析图表
学音乐转软件开发
saas免费软件开发企业
整数网络技术
ecm数据库官网
四书五经下载软件开发
大公司 软件开发流程图
兴日科技互联网水卡
触摸屏软件开发说明
cpu缺通道服务器会告警吗
专利和相关文献数据库有哪些
杭州智慧社区软件开发
cd命令找不到数据库路径
数据库数据统计分析图表
ccna思科网络技术学院
句容r740服务器价格
时间服务器管理规范
百桓互联网科技