爬取天气网城市气温变化
这是我们要爬取的结果:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import requests
import csv
import re
if __name__ == "__main__":headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}url = "https://www.tianqi.com/xian/30/"#指定urlhh = requests.get(url=url,headers=headers).text#text类型img = re.findall(r'<span class="fl">(.*?)</span>', hh, re.M|re.S)#利用正则表达式爬取日期print(img)x = re.findall(r'<span class="fr">(.*?)</span>', hh, re.M|re.S)#爬取星期print(x)q = re.findall(r'<span>(\d+)</span>', hh, re.M|re.S)#爬取最高气温和最低气温for i in range(len(q)):q[i] = q[i] + "℃"#循环给每个数字加上摄氏度print(q)j = []o = []for i in range(len(q)-2):#这里因为是爬取的是30天的最高与最低气温共60个,这里显示的是62个,所以要减2if i%2 == 0:o.append(q[i])#将最高气温与最低气温分在两个列表里else:j.append(q[i])w = re.findall(r'<div class="weaul_z">(.*?)<',hh,re.M|re.S)for i in w:if i == '':w.remove('')#去除天气列表中的空字符print(w)e = re.findall(r'<div class="weaul_s">(.*?)</div>',hh,re.M|re.S)print(e)with open("天气.csv", 'w',encoding='utf-8',newline='') as fp:fp1 = csv.writer(fp)fp1.writerow(['日期','星期','最低温','最高温','天气','风向','风级'])for i in range(len(img)):fp1.writerow([img[i],x[i],o[i],j[i],w[i],e[i]])#以上边的形式储存在文件里print("爬取成功!!!")
plt.style.use('ggplot')#进行气温数据可视化
x = img
yMax = []
yMin = []
again = re.findall(r'<span>(\d+)</span>', hh, re.M|re.S)#在爬取一次只含有字符数字的列表
for i in range(len(again)-2):if i % 2 == 0:yMin.append(int(again[i]))#将数据整数化else:yMax.append(int(again[i]))
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
plt.plot(x,yMin,'b-',rotation=0,label='最低气温')
plt.plot(x,yMax,'r-',rotation=0,label='最高气温')
ax1.xaxis.set_ticks_position('bottom')
ax1.yaxis.set_ticks_position('left')
plt.xlabel("日期")
plt.ylabel("气温(单位:℃)")
fig.suptitle("西安市近期天气温度变化",fontsize=11)
plt.ylim(min(yMin)-1,max(yMax)+1)
plt.legend(loc='best')
plt.savefig("WeatherData.png",dpi=400,bbox_inches='tight')
plt.show()
将数据放在excel表格中(这里的24号是因为我是24号爬取的),嘿嘿
结果如下图所示:
爬取天气网城市气温变化相关推荐
- python爬取历史天气数据并保存_Python爬取天气网历史天气数据
我的第一篇博客,哈哈哈,记录一下我的Python进阶之路! 今天写了一个简单的爬虫. 使用python的requests 和BeautifulSoup模块,Python 2.7.12可在命令行中直接使 ...
- [python爬虫]爬取天气网全国所有县市的天气数据
[python爬虫]爬取天气网全国所有县市的天气数据 访问URL 解析数据 保存数据 所要用到的库 import requests from lxml import etree import xlwt ...
- Python爬取天气网历史天气数据
我的第一篇博客,哈哈哈,记录一下我的Python进阶之路! 今天写了一个简单的爬虫. 使用Python的requests 和BeautifulSoup模块,Python 2.7.12可在命令行中直接使 ...
- python爬取天气数据的header_[python爬虫]爬取天气网全国所有县市的天气数据
def get_data(url): html = ask_url(url) base_url = 'http://www.weather.com.cn' province_name = []# 省份 ...
- python爬取天气数据山东_Python爬取天气预报数据,并存入到本地EXCEL中-Go语言中文社区...
近期忙里偷闲,搞了几天python爬虫,基本可以实现常规网络数据的爬取,比如糗事百科.豆瓣影评.NBA数据.股票数据.天气预报等的爬取,整体过程其实比较简单,有一些HTML+CSS+DOM树等知识就很 ...
- Python入门(安装)——第一个爬虫程序(爬取山东各城市天气信息)
Python爬虫原来可以这么简单,前两天有个朋友让我帮她看一下爬取天气的一段程序有什么问题,这段程序是用Python写的,只是以前听说Python爬虫很厉害,但是不知道自己怎么会没有时间开始.刚好我也 ...
- python爬取天气数据山东_Python的学习《山东省各城市天气爬取》
Python+scrapy爬取山东各城市天气预报 1.在命令提示符环境使用pip install scrapy命令安装Python扩展库scrapy,详见Python使用Scrapy爬虫框架爬取天涯社 ...
- Python爬取天气数据及可视化分析!
来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...
- Python爬取天气数据及可视化分析(附源码)
大家好,我是辰哥(文末送书) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本次使用python中requests和Be ...
最新文章
- CodeFx: 微软一站式开发技术框架解决方案 2009-7-30 新增sample code简介
- Android开机画面~(自己还没试验)
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
- 2021暑假实习-SSM超市积分管理系统-day01笔记
- Python OpenCV实现鼠标画框
- 设置ComboBox控件的边框颜色.
- css样式的百分比都相对于谁?
- 用keepalived配置高可用,监控NGINX服务
- abort has been called翻译_小分享:一款优秀的你还不知道的免费翻译工具推荐给大家...
- 方寸知识篇 - 集成电路制造技术(一)- 集成电路制造技术发展历程
- 程序人生 - 游戏帧数很高,为什么还是会卡顿?
- 部署程序出现Failed to instantiate com.octo.captcha.service.image.DefaultManageableImageCaptchaService...
- 数据类型和运算符(使用Python的AI编程2部1单元2课)
- staring mysql.the_mysql 启动异常失败 Starting MySQL..The server quit without updating PID file
- 苹果所用应用打不开怎么办?论浮标有多重要?
- 安全扫描工具-appscan
- 凸显计算机学院特色的剧本,高职院校非计算机专业计算机课程的教学改进策略探析 - 计算机教育论文大全 - 小品台词 - 中国国际剧本网...
- 1分钟链圈 | 区块链从业者平均年收入在20万元左右!纳斯达克报告:只有5%的IT供应商部署了区块链...
- 18.11 项目:自动填表程序
- 《智能步态识别门禁系统》,基于深度学习的多人步态识别系统
热门文章
- 什么是Tendermint?(1)
- java 代码实现身份证合法性校验(全国所有地方)
- java中级开发面试总结
- 当zookeeper报错Invalid config, exiting abnormally,Error contacting service. It is probably not running
- 2022.6.7日报:quickjs版miniblink逐步完善
- python周报第十五周
- 电子科大计算机学院张小松院长,祝贺!电子科技大学张小松教授荣获全国创新争先奖!...
- char 和 varcha 的区别是什么
- lisp 画双线带倒圆角_VisualLisp增加公差、消除重合直线圆弧
- 利用Bootstrap快速搭建个人响应式主页(附演示+源码)