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 相关文章推荐
python3使用scrapy生成csv文件代码示例
Dec 28 Python
python2.7实现FTP文件下载功能
Apr 15 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
python+tkinter实现学生管理系统
Aug 20 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
Python实现学生管理系统(面向对象版)
Jun 24 Python
基于Python实现流星雨效果的绘制
Mar 18 Python
深入理解pytorch库的dockerfile
Jun 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
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
心扬JS分页函数代码
2010/09/10 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
vue-cli4项目开启eslint保存时自动格式问题
2020/07/13 Javascript
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
Pycharm更换python解释器的方法
2018/10/29 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
python tqdm库的使用
2020/11/30 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
社会保险接收函
2014/01/12 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
代收款委托书范本
2014/10/01 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
编写python程序的90条建议
2021/04/14 Python
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL