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缩进区别分析
Feb 15 Python
python实现apahce网站日志分析示例
Apr 02 Python
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
Python 性能优化技巧总结
Nov 01 Python
python executemany的使用及注意事项
Mar 13 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
Python Selenium 之关闭窗口close与quit的方法
Feb 13 Python
Django密码存储策略分析
Jan 09 Python
Python之变量类型和if判断方式
May 05 Python
Python中zip函数如何使用
Jun 04 Python
pycharm永久激活超详细教程
Oct 29 Python
python利用pandas分析学生期末成绩实例代码
Jul 09 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
安装APACHE
2007/01/15 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
web.py获取上传文件名的正确方法
2014/08/26 Python
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
为什么说python适合写爬虫
2020/06/11 Python
解决python对齐错误的方法
2020/07/16 Python
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
热能动力工程毕业生自荐信
2013/11/07 职场文书
前台文员岗位职责及工作流程
2013/11/19 职场文书
小学英语教学反思案例
2014/02/04 职场文书
售后客服工作职责
2014/06/16 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
python 常用的异步框架汇总整理
2021/06/18 Python
代码复现python目标检测yolo3详解预测
2022/05/06 Python