Python爬虫爬取杭州24时温度并展示操作示例

作者:OldKind超 时间:2022-01-04 14:43:33 

本文实例讲述了Python爬虫爬取杭州24时温度并展示操作。分享给大家供大家参考,具体如下:

散点图 爬虫杭州今日24时温度 https://www.baidutianqi.com/today/58457.htm

  1. 利用正则表达式爬取杭州温度

  2. 面向对象编程

  3. 图表展示(散点图 / 折线图)

导入相关库


import requests
import re
from matplotlib import pyplot as plt
from matplotlib import font_manager
import matplotlib

类代码部分


class Weather(object):
 def __init__(self):
   self.url = 'https://www.baidutianqi.com/today/58457.htm'
   self.headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36'}
 #请求
 def __to_requests(self):
   response = requests.get(url=self.url,headers=self.headers)
   return self.__to_paeser(response.content.decode('utf-8'))
 #解析
 def __to_paeser(self,html):
   #正则表达式 要从数据循环的部分写起 如果从循环的父标签开始 , 则只会匹配到一个值 即父标签下的某个标签 , 而不是循环下的
   pattern = re.compile('<li>.*?<font class="red">(.*?)</font>.*?<font class="blue">(.*?)</font></li>',re.S)
   return re.findall(pattern,html)

#展示
 def __to_show(self,data):
   x = []
   y = []
   for value in data:
     x.append(value[0])
     y.append(int(value[1][-2:]))
   #画布
   plt.figure(figsize=(15,8),dpi=80)
   #中文 /System/Library/Fonts/PingFang.ttc   C:\Windows\Fonts\simsun.ttc
   my_font = font_manager.FontProperties(fname='/System/Library/Fonts/PingFang.ttc',size=18)
   #x y 轴刻度 标签 区分 y的刻度值/刻度标签 和 y本身的值
   plt.xticks(fontproperties=my_font,rotation=60)
   y_ticks = ["{}℃".format(i) for i in range(min(y),max(y)+1)]
   plt.yticks(range(min(y),max(y)+1),y_ticks,fontproperties=my_font,rotation=60)
   # x y 轴说明
   plt.xlabel('时间',color='orange',rotation=60,fontproperties=my_font)
   plt.ylabel('温度',color='orange',rotation=60,fontproperties=my_font)
   #网格
   plt.grid(alpha=0.4)
   #标题
   plt.title('当天时刻温度低值变化',fontproperties=my_font)
   #图例
   plt.legend(prop=my_font)
   #作画
#     plt.scatter(x,y,label='2019-08-22')
   plt.plot(x,y,color='red')
   plt.show()
 #操作
 def to_run(self):
   result = self.__to_requests()
   self.__to_show(result)

调用并展示


if __name__ == '__main__':
 wt = Weather()
 wt.to_run()

Python爬虫爬取杭州24时温度并展示操作示例
Python爬虫爬取杭州24时温度并展示操作示例

希望本文所述对大家Python程序设计有所帮助。

来源:https://blog.csdn.net/qq_36261130/article/details/100556163

标签:Python,爬虫,爬取
0
投稿

猜你喜欢

  • asp中的rs.open与conn.execute的区别说明

    2011-02-24 10:56:00
  • Python&Matlab实现樱花的绘制

    2023-11-04 05:07:16
  • Python实现用户登录注册

    2021-01-12 17:03:42
  • 支持在线写SQL的Oracle学习免费网站推荐!(个人常使用)

    2023-07-24 09:06:51
  • Python+Pygame实现之走四棋儿游戏的实现

    2023-08-29 21:34:55
  • Python数组拼接np.concatenate实现过程

    2023-11-12 04:26:10
  • php插件功能实现方法介绍

    2023-05-30 12:28:52
  • 浅淡BANNER设计

    2010-09-25 18:37:00
  • 利用Python爬虫给孩子起个好名字

    2022-04-25 23:40:29
  • 谈谈网页设计中的字体应用 (1) Font Set

    2009-11-24 12:55:00
  • 获取星期几的名称

    2012-01-29 18:16:31
  • Dreaweaver MX 2004新功能:图片处理

    2010-09-02 12:38:00
  • 如何利用数据库内容建立一个下拉式列表?

    2010-01-01 15:46:00
  • Python采用Django制作简易的知乎日报API

    2023-10-07 13:02:34
  • 9种使用Chrome Firefox 自带调试工具调试javascript技巧

    2023-07-19 01:03:48
  • [翻译]网页设计中的模式窗口

    2009-05-29 18:00:00
  • PHP中error_reporting()函数的用法(修改PHP屏蔽错误)

    2023-11-20 01:08:17
  • python实现余弦相似度文本比较的示例

    2023-01-18 09:17:48
  • 框架iframe子页面,自适应高度方法

    2008-06-07 13:31:00
  • Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解

    2021-10-15 16:14:07
  • asp之家 网络编程 m.aspxhome.com