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


Posted in Python onMarch 27, 2020

本文实例讲述了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相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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

Python 相关文章推荐
Python实现windows下模拟按键和鼠标点击的方法
Mar 13 Python
使用python加密自己的密码
Aug 04 Python
python实现web方式logview的方法
Aug 10 Python
python图像常规操作
Nov 11 Python
Windows下PyCharm安装图文教程
Aug 27 Python
python 拼接文件路径的方法
Oct 23 Python
python SQLAlchemy的Mapping与Declarative详解
Jul 04 Python
在notepad++中实现直接运行python代码
Dec 18 Python
python+tifffile之tiff文件读写方式
Jan 13 Python
利用python进行文件操作
Dec 04 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 Python
Python必备技巧之字符数据操作详解
Mar 23 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 #Python
Python itertools.product方法代码实例
Mar 27 #Python
python实现图像全景拼接
Mar 27 #Python
如何在Python 游戏中模拟引力
Mar 27 #Python
Python 实现平台类游戏添加跳跃功能
Mar 27 #Python
django配置app中的静态文件步骤
Mar 27 #Python
使用卷积神经网络(CNN)做人脸识别的示例代码
Mar 27 #Python
You might like
PHP中最容易忘记的一些知识点总结
2013/04/28 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
php字符串截取函数用法分析
2014/11/25 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
欧洲最大的笔和书写专家:The Pen Shop
2017/03/19 全球购物
美国儿童运动鞋和服装零售商:Kids Foot Locker
2017/08/05 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
正规的求职信范文分享
2013/12/11 职场文书
捐款倡议书
2014/04/14 职场文书
设计大赛策划方案
2014/06/13 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书