这是我们要爬取的结果:

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号爬取的),嘿嘿

结果如下图所示:

爬取天气网城市气温变化相关推荐

  1. python爬取历史天气数据并保存_Python爬取天气网历史天气数据

    我的第一篇博客,哈哈哈,记录一下我的Python进阶之路! 今天写了一个简单的爬虫. 使用python的requests 和BeautifulSoup模块,Python 2.7.12可在命令行中直接使 ...

  2. [python爬虫]爬取天气网全国所有县市的天气数据

    [python爬虫]爬取天气网全国所有县市的天气数据 访问URL 解析数据 保存数据 所要用到的库 import requests from lxml import etree import xlwt ...

  3. Python爬取天气网历史天气数据

    我的第一篇博客,哈哈哈,记录一下我的Python进阶之路! 今天写了一个简单的爬虫. 使用Python的requests 和BeautifulSoup模块,Python 2.7.12可在命令行中直接使 ...

  4. python爬取天气数据的header_[python爬虫]爬取天气网全国所有县市的天气数据

    def get_data(url): html = ask_url(url) base_url = 'http://www.weather.com.cn' province_name = []# 省份 ...

  5. python爬取天气数据山东_Python爬取天气预报数据,并存入到本地EXCEL中-Go语言中文社区...

    近期忙里偷闲,搞了几天python爬虫,基本可以实现常规网络数据的爬取,比如糗事百科.豆瓣影评.NBA数据.股票数据.天气预报等的爬取,整体过程其实比较简单,有一些HTML+CSS+DOM树等知识就很 ...

  6. Python入门(安装)——第一个爬虫程序(爬取山东各城市天气信息)

    Python爬虫原来可以这么简单,前两天有个朋友让我帮她看一下爬取天气的一段程序有什么问题,这段程序是用Python写的,只是以前听说Python爬虫很厉害,但是不知道自己怎么会没有时间开始.刚好我也 ...

  7. python爬取天气数据山东_Python的学习《山东省各城市天气爬取》

    Python+scrapy爬取山东各城市天气预报 1.在命令提示符环境使用pip install scrapy命令安装Python扩展库scrapy,详见Python使用Scrapy爬虫框架爬取天涯社 ...

  8. Python爬取天气数据及可视化分析!

    来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...

  9. Python爬取天气数据及可视化分析(附源码)

    大家好,我是辰哥(文末送书) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本次使用python中requests和Be ...

最新文章

  1. CodeFx: 微软一站式开发技术框架解决方案 2009-7-30 新增sample code简介
  2. Android开机画面~(自己还没试验)
  3. 使用docker安装部署Spark集群来训练CNN(含Python实例)
  4. 2021暑假实习-SSM超市积分管理系统-day01笔记
  5. Python OpenCV实现鼠标画框
  6. 设置ComboBox控件的边框颜色.
  7. css样式的百分比都相对于谁?
  8. 用keepalived配置高可用,监控NGINX服务
  9. abort has been called翻译_小分享:一款优秀的你还不知道的免费翻译工具推荐给大家...
  10. 方寸知识篇 - 集成电路制造技术(一)- 集成电路制造技术发展历程
  11. 程序人生 - 游戏帧数很高,为什么还是会卡顿?
  12. 部署程序出现Failed to instantiate com.octo.captcha.service.image.DefaultManageableImageCaptchaService...
  13. 数据类型和运算符(使用Python的AI编程2部1单元2课)
  14. staring mysql.the_mysql 启动异常失败 Starting MySQL..The server quit without updating PID file
  15. 苹果所用应用打不开怎么办?论浮标有多重要?
  16. 安全扫描工具-appscan
  17. 凸显计算机学院特色的剧本,高职院校非计算机专业计算机课程的教学改进策略探析 - 计算机教育论文大全 - 小品台词 - 中国国际剧本网...
  18. 1分钟链圈 | 区块链从业者平均年收入在20万元左右!纳斯达克报告:只有5%的IT供应商部署了区块链...
  19. 18.11 项目:自动填表程序
  20. 《智能步态识别门禁系统》,基于深度学习的多人步态识别系统

热门文章

  1. 什么是Tendermint?(1)
  2. java 代码实现身份证合法性校验(全国所有地方)
  3. java中级开发面试总结
  4. 当zookeeper报错Invalid config, exiting abnormally,Error contacting service. It is probably not running
  5. 2022.6.7日报:quickjs版miniblink逐步完善
  6. python周报第十五周
  7. 电子科大计算机学院张小松院长,祝贺!电子科技大学张小松教授荣获全国创新争先奖!...
  8. char 和 varcha 的区别是什么
  9. lisp 画双线带倒圆角_VisualLisp增加公差、消除重合直线圆弧
  10. 利用Bootstrap快速搭建个人响应式主页(附演示+源码)