请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7679|回复: 18

[经验总结] python爬虫爬取中央气象台每日天气图

[复制链接]

新浪微博达人勋

发表于 2022-1-2 16:54:26 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 heshuya 于 2022-4-14 20:43 编辑

这段时间有又需要存图了,参考了评论区的帖子,更新了代码。——20220414
直接上代码了,需要用的自取。pachong_radar.py
#################################################
下面是原来的方法,不建议参考,直接看最新的附件就行
##################################################
中央气象台网站更新后,以前的爬虫方式就不太能用了,我研究了一下发现主要是因为网站上天气图的翻页模式从点击变成了滑动,页面上的图片src也只显示当前页面的,因此,按照网络通俗的方法去爬取就只能爬出一张图片。看了一些大佬的教程后自己改出来一个代码。
评论区有更简便的方法,我这个确实是笨重了些,大家可以参考一下评论区
1.安装SeleniumSelenium是一个Web的自动化(测试)工具,它可以根据我们的指令,让浏览器执行自动加载页面,获取需要的数据等操作。
pip install selenium
​
2. 安装chromedriverSelenium 自身并不具备浏览器的功能,Google的Chrome浏览器能方便的支持此项功能,需安装其驱动程序Chromedriver
下载地址:http://chromedriver.storage.googleapis.com/index.html
在google浏览器的地址栏输入‘chrome://version/’,可以查看版本信息,下载接近版本的就可以。
​
3.代码代码参考了
Python Selenium 实战教学:爬取每日天气 - 松鼠爱吃饼干的文章 - 知乎 https://zhuanlan.zhihu.com/p/170137309
从图里可以看到,向前翻页指令对应的id是'prev'


pachong_radar.py

2.04 KB, 下载次数: 36, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-1-3 10:59:52 | 显示全部楼层
太牛了,学习了
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2022-1-6 10:35:40 | 显示全部楼层
https://mp.weixin.qq.com/s/oCv7Bn5APVUI0SW2up9GdQ     

参考下这个链接,不需要去凑url,直接把官网上现有的图片全部拉下来

点评

这个太棒了!!  发表于 2022-1-8 15:14
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2022-1-5 09:45:23 | 显示全部楼层
heshuya 发表于 2022-1-4 18:30
那样只能实现一张图,我开头写了

weatherchart_h1000_url = 'http://image.nmc.cn/product/{0}/WESA/SEVP_NMC_WESA_SFER_EGH_ACWP_L00_P9_{1}0000000.jpg'
yestodayl = (datetime.datetime.now() + datetime.timedelta(hours=-11)).strftime("%Y/%m/%d/%H")
url = weatherchart_h1000_url.format(yestodayl[0:10],yestodayl.replace('/',''))

点评

学习了  发表于 2022-1-5 12:57
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2022-1-2 18:01:15 | 显示全部楼层
好,支持{:eb513:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-1-3 17:08:45 | 显示全部楼层
厉害厉害
厉害厉害
厉害厉害
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-1-3 22:50:15 | 显示全部楼层
和我参考的是一个教程,但这个经常会报错,需要再优化一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-1-3 23:01:52 | 显示全部楼层
跺碎那片云 发表于 2022-1-3 22:50
和我参考的是一个教程,但这个经常会报错,需要再优化一下

我没有报错欸,你报错的是什么信息呢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-1-4 16:30:08 | 显示全部楼层
这个方法不咋样,明明可以直接拼接url来获取,那个图片的网址是固定,比如1月3日的08时图片http://image.nmc.cn/product/2022/01/03/WESA/SEVP_NMC_WESA_SFER_EGH_ACWP_L00_P9_20220103000000000.jpg
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-1-4 16:33:10 | 显示全部楼层
selenium干这种任务有点笨重
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-1-4 17:14:53 | 显示全部楼层
我抓了下包,不用这么繁琐吧,直接构造请求url不是很简单就实现了吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-1-4 18:30:37 | 显示全部楼层
angrycar 发表于 2022-1-4 17:14
我抓了下包,不用这么繁琐吧,直接构造请求url不是很简单就实现了吗?

那样只能实现一张图,我开头写了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表