Python爬虫爬取杭州24时温度并展示操作示例
作者:OldKind超 发布时间:2022-01-04 14:43:33
标签:Python,爬虫,爬取
本文实例讲述了Python爬虫爬取杭州24时温度并展示操作。分享给大家供大家参考,具体如下:
散点图 爬虫杭州今日24时温度 https://www.baidutianqi.com/today/58457.htm
利用正则表达式爬取杭州温度
面向对象编程
图表展示(散点图 / 折线图)
导入相关库
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程序设计有所帮助。
来源:https://blog.csdn.net/qq_36261130/article/details/100556163


猜你喜欢
- 人丑就要多读书,颜值不够知识来凑,至少你可以用书籍来武装你的大脑,拯救你的人生。TIOBE编程语言排行榜前20的语言入门书籍推荐
- 前言return语句用于退出函数,向调用方返回一个表达式。return在不带参数的情况下(或者没有写return语句),默认返回None。N
- 没有gpu,改用cpu跑代码以为很麻烦的修改,很大动干戈的改动,以及无止尽的报错,结果,就改动代码中的device就OK了,惊不惊喜,意不意
- 这篇文章主要介绍了python如何实现单链表的反转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- Anaconda简介Anaconda,是一个开源的Python发行版本,其包含了conda、Python以及一大堆安装好的工具包及依赖项,比
- 1、update delete insert 这种语句都需要commit或者直接在连接数据库的时候加上autocommit=Trueimpo
- PyTorch 中的 torch.utils.data 解析PyTorch 中的 torch.utils.data 解析在 PyTorch
- 用mysqlbinlog.exe查看二进制日志是否启用了日志mysql>show variables like 'log%
- 前言随着 Kotlin 1.4 正式发布,关于 SAM 转换的一些问题就可以盖棺定论了。因为这里要讲的都是些旧的东西,所以这是一篇灌水文。K
- PyTorch中还单独提供了一个sampler模块,用来对数据进行采样。常用的有随机采样器:RandomSampler,当dataloade
- Hi, 大家好~ 好久没有发有营养的东西,今天就扔一篇最近热点的Google Chrome 浏览器的试用心得吧。先说个比较搞的事情,Goog
- 索引的概念MySQL索引是一种用于加速数据库查询的数据结构,它类似于书籍的目录,能够快速指导我们找到需要的信息。MySQL索引可以根据一定的
- 目录1、股票数据2、数据处理3、绘制K线4、去除图中非交易日5、在K线图中,添加成交量K线图简介:K线图又被成为“蜡烛图”、“阴阳线”等,它
- 1.在vue项目根目录下新建vue.config.js(不是在src下面)vue.config.js配置文件:module.exports
- 把中文字符转换回Unicode字符。见下列代码:<%function unicode(str)dim i,j,c,
- 一、架构介绍Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方
- 一、汉诺塔问题1. 问题来源问题源于印度的一个古老传说,大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄
- 本文转自微信公众号:"算法与编程之美",一、问题描述在collections模块中的defauldict使用时与dict
- 伴随着自然语言技术和机器学习技术的发展,越来越多的有意思的自然语言小项目呈现在大家的眼前,聊天机器人就是其中最典型的应用,今天小编就带领大家
- 创建一个名为templatetags的python module。新建一个名为verbose_name.py的文件。from django