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中函数总结之装饰器闭包详解
Jun 12 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 Python
使用python验证代理ip是否可用的实现方法
Jul 25 Python
详解pandas的外部数据导入与常用方法
May 01 Python
python安装scipy的步骤解析
Sep 28 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
python3的UnicodeDecodeError解决方法
Dec 20 Python
opencv python图像梯度实例详解
Feb 04 Python
Python + selenium + crontab实现每日定时自动打卡功能
Mar 31 Python
Python 防止死锁的方法
Jul 29 Python
Python利用命名空间解析XML文档
Aug 10 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
PHP4 与 MySQL 交互使用
2006/10/09 PHP
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
php封装的smarty类完整实例
2016/10/19 PHP
PHP实现微信退款功能
2018/10/02 PHP
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python的sys.path模块路径添加方式
2020/03/09 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
Python try except else使用详解
2021/01/12 Python
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
某个公司的Java笔面试题
2016/03/11 面试题
2014年乡镇安全生产工作总结
2014/12/02 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
会计求职信怎么写
2015/03/20 职场文书
公司辞职信模板
2015/05/13 职场文书
感动中国何玥观后感
2015/06/02 职场文书
小鞋子观后感
2015/06/05 职场文书
法制工作总结2015
2015/07/23 职场文书
2015大一新生军训感言
2015/08/01 职场文书
离婚民事起诉状
2015/08/03 职场文书
JS的深浅复制详细
2021/10/16 Javascript