如何详细解析Python爬取实时天气数据的过程?
- 内容介绍
- 文章标签
- 相关推荐
本文共计636个文字,预计阅读时间需要3分钟。
最近几天,气温变化较大,一下午就变成低温了。小编写了个数据表,记录了天气变化。
就在前几天还是二十多度的舒适温度,今天一下子就变成了个位数,小编已经感受到冬天寒风的无情了。之前对获取天气都是数据上的搜集,做成了一个数据表后,对温度变化的感知并不直观。那么,我们能不能用python中的方法做一个天气数据分析的图形,帮助我们更直接的看出天气变化呢?
使用pygal绘图,使用该模块前需先安装pip install pygal,然后导入import pygal
bar = pygal.Line() # 创建折线图 bar.add('最低气温', lows) #添加两线的数据序列 bar.add('最高气温', highs) #注意lows和highs是int型的列表 bar.x_labels = daytimes bar.x_labels_major = daytimes[::30] bar.x_label_rotation = 45 bar.title = cityname+'未来七天气温走向图' #设置图形标题 bar.x_title = '日期' #x轴标题 bar.y_title = '气温(摄氏度)' # y轴标题 bar.legend_at_bottom = True bar.show_x_guides = False bar.show_y_guides = True bar.render_to_file('temperate1.svg') # 将图像保存为SVG文件,可通过浏览器
最终生成的图形如下图所示,直观的显示了天气情况:
完整代码
import csv import sys import urllib.request from bs4 import BeautifulSoup # 解析页面模块 import pygal import cityinfo cityname = input("请输入你想要查询天气的城市:") if cityname in cityinfo.city: citycode = cityinfo.city[cityname] else: sys.exit() url = '非常抱歉,网页无法访问' + citycode + '.shtml' header = ("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36") # 设置头部信息 www.weather.com.cn/textFC/hb.shtml", "www.weather.com.cn/textFC/db.shtml", "www.weather.com.cn/textFC/hd.shtml", "www.weather.com.cn/textFC/hz.shtml", "www.weather.com.cn/textFC/hn.shtml", "www.weather.com.cn/textFC/xb.shtml", "www.weather.com.cn/textFC/xn.shtml", "www.weather.com.cn/textFC/gat.shtml", ] return start_urls def main(): """ 主程序逻辑 展示全国实时温度最低的十个城市气温排行榜的柱状图 """ # 1 获取所有起始url start_urls = get_start_urls() # 2 发送请求获取响应、解析页面 data = send_parse_urls(start_urls) # print(data) # 4 数据可视化 #1排序 data.sort(key=lambda data:int(data["temp"])) #2切片,选择出温度最低的十个城市和温度值 show_data = data[:10] #3分出城市和温度 city = list(map(lambda data:data["city"],show_data)) temp = list(map(lambda data:int(data["temp"]),show_data)) #4创建柱状图、生成目标图 chart = Bar("中国最低气温排行榜") #需要安装pyechart模块 chart.add("",city,temp) chart.render("tempture.html") if __name__ == '__main__': main()
到此这篇关于python爬取天气数据的实例详解的文章就介绍到这了,更多相关python爬虫天气数据的分析内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!
本文共计636个文字,预计阅读时间需要3分钟。
最近几天,气温变化较大,一下午就变成低温了。小编写了个数据表,记录了天气变化。
就在前几天还是二十多度的舒适温度,今天一下子就变成了个位数,小编已经感受到冬天寒风的无情了。之前对获取天气都是数据上的搜集,做成了一个数据表后,对温度变化的感知并不直观。那么,我们能不能用python中的方法做一个天气数据分析的图形,帮助我们更直接的看出天气变化呢?
使用pygal绘图,使用该模块前需先安装pip install pygal,然后导入import pygal
bar = pygal.Line() # 创建折线图 bar.add('最低气温', lows) #添加两线的数据序列 bar.add('最高气温', highs) #注意lows和highs是int型的列表 bar.x_labels = daytimes bar.x_labels_major = daytimes[::30] bar.x_label_rotation = 45 bar.title = cityname+'未来七天气温走向图' #设置图形标题 bar.x_title = '日期' #x轴标题 bar.y_title = '气温(摄氏度)' # y轴标题 bar.legend_at_bottom = True bar.show_x_guides = False bar.show_y_guides = True bar.render_to_file('temperate1.svg') # 将图像保存为SVG文件,可通过浏览器
最终生成的图形如下图所示,直观的显示了天气情况:
完整代码
import csv import sys import urllib.request from bs4 import BeautifulSoup # 解析页面模块 import pygal import cityinfo cityname = input("请输入你想要查询天气的城市:") if cityname in cityinfo.city: citycode = cityinfo.city[cityname] else: sys.exit() url = '非常抱歉,网页无法访问' + citycode + '.shtml' header = ("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36") # 设置头部信息 www.weather.com.cn/textFC/hb.shtml", "www.weather.com.cn/textFC/db.shtml", "www.weather.com.cn/textFC/hd.shtml", "www.weather.com.cn/textFC/hz.shtml", "www.weather.com.cn/textFC/hn.shtml", "www.weather.com.cn/textFC/xb.shtml", "www.weather.com.cn/textFC/xn.shtml", "www.weather.com.cn/textFC/gat.shtml", ] return start_urls def main(): """ 主程序逻辑 展示全国实时温度最低的十个城市气温排行榜的柱状图 """ # 1 获取所有起始url start_urls = get_start_urls() # 2 发送请求获取响应、解析页面 data = send_parse_urls(start_urls) # print(data) # 4 数据可视化 #1排序 data.sort(key=lambda data:int(data["temp"])) #2切片,选择出温度最低的十个城市和温度值 show_data = data[:10] #3分出城市和温度 city = list(map(lambda data:data["city"],show_data)) temp = list(map(lambda data:int(data["temp"]),show_data)) #4创建柱状图、生成目标图 chart = Bar("中国最低气温排行榜") #需要安装pyechart模块 chart.add("",city,temp) chart.render("tempture.html") if __name__ == '__main__': main()
到此这篇关于python爬取天气数据的实例详解的文章就介绍到这了,更多相关python爬虫天气数据的分析内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

