python爬虫获取元素的属性值_Python爬虫入门教程 53-100 Python3爬虫获取三亚天气做旅游参照...

爬取背景

这套课程虽然叫爬虫入门类课程,但是里面涉及到的点是非常多,十分检验你的基础掌握的牢固程度,代码中的很多地方都是可以细细品味的。

为什么要写这么一个小东东呢,因为我生活在大河北,那雾霾醇厚的很,去了趟三亚,那空气,啧啧,舒服的很,所以爬取一下三亚天气,看看什么时候去最好,理想的温度为24~28,呵呵哒

代码走起来 ,天气类的网址多的很,重点关注历史天气 找到这么一个网站 https://www.tianqi.com/sanya/

ecd0b870ca662094fdbbe1de32c408d1.png

发现入口,哈哈,有机会爬取到

代码走起来,爬虫套路上吧

简单的requests,复杂的scrapy 总有一款适合你的

哇哦~从2011年到2019年都有唉

ea185a5a0556aaf0e87de6b406a009d7.png

月份点进去,呈现了大概这些信息,最高气温,最低气温,天气,风向,风力,好了数据都有了 http://lishi.tianqi.com/sanya/201101.html

8a74270055b523172048402c8e40a2f0.png

到这个地方不着急,慢慢来,一个天天写爬虫的人必须要对URL敏感,一看就嗨,小时候喜欢找规律的人长大都能写爬虫

URL 是这样子的 http://lishi.tianqi.com/sanya/201111.html http://lishi.tianqi.com/sanya/201102.html http://lishi.tianqi.com/sanya/201103.html http://lishi.tianqi.com/sanya/201104.html

http://lishi.tianqi.com/[三亚的拼音]/年月.html

OK,这就简单了,走起,看起来就简单,那我就使用pyspider了 ,好久没有,都有点遗忘了呢 怎么运行呢?

86ccbe7cc08913a6241aad5cfb3b4a36.png

一顿操作,数据就下载到了

没有特别复杂的地方,基本就属于常规操作了

def 

基本数据分析

首先看一下数据的基本面

7578b4f2bef88df60c0d995e52e6b1b8.png

- 75% 都是26度的天气,很舒服 - 都发现了异常数据,例如最低气温最小的竟然为0,最高气温为13,不合理 - 最热竟然是37度,还不如我大河北温度,奇怪了?

excel 读取

def 

我要知道,三亚天气的一个走势,这个地方直接按照时间进行图标制作吧

按照时间排序

df 

可以明显的看到波峰和波谷,这个地方只能知道三亚的天气是有波动的,距离我得到最后的结果进了一点点

5949f79cd0614d3f679674b2658b0662.png

按照单独的一年绘制,得到一个很混乱的图,还是没有得到我想要的结果

opt_df 

每个颜色表示不同的年分,看来还是要用子图了。

3d205612ffde4232608e5eb64f8fe4cd.png

从上到下,我从2011年依次罗列到2018年

opt_df 

一个小的注意事项是:解决使用 plt.savefig 保存图片时一片空白

原因

其实产生这个现象的原因很简单:在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片。

知道了原因,就不难知道解决办法了,解决办法有两种:

在 plt.show() 之前调用 plt.savefig();

import 

画图的时候获取当前图像(这一点非常类似于 Matlab 的句柄的概念):

# gcf: Get Current Figure
    

7d04025a12ee1e224e57534c077bec36.png

细细的看了一下,发现好稳定。。。。走势变化不大,那么,在去细化,我们拆解2018年的,然后推断2019年的,这个地方需要的展示12个月份的天气了,代码走起。

d2018 

1a38a5361cfdca6bf72744bbd37c0b9d.png

哈哈,到现在为止,啥也没看出来

3a16478f725b55169da227b138c8045f.png

继续努力,看平均天气,把2018年每个月的平均天气整理出来

|月份| 最低气温| 最高气温| |---|---|---| |1 |20.1 |26.1| |2 |17.6 |26.6| |3 |19.6 |29.3| |4 |22.0 |30.7| |6 |25.2 |32.5| |7 |24.5 |31.4| |8 |24.5 |31.8| |9 |25.2 |31.9| |10 |23.2 |31.5| |11 |21.7 |30.2| |12 |20.4 |28.1|

哈哈哈,都是好天气......我到底在做啥结果.....

f3e2c51969e534429e30fb29400d2c02.png

受不了,我去百度了,看看天气网站的结论,emmm....一样,在我们河北人看来,这就是恒温的。

a1b4aab56fed36629bfb8add11a8aa64.png

我还有的分析,我的数据是这样子的

bd133a7a9716ec626af1b07b80fe14a7.png

是否下雨,我可以统计一下,代码走起来 全年的天气 |天气|天数| |---|:---| |中雨 | 15| |多云 | 176| |大雨 | 5| |小雨 | 5| |晴 | 12| |暴雨 | 1| |阴 | 11| |阵雨 | 38| |雷阵雨 | 6|

统计一下每个月的天气变化

85d386694aa9b6e5bc32b49771dcfbff.png

总结,两个结论,666 1. 1月,2月,3月,11月,12月基本没雨 2. 其他月份有雨

好吧,停止了,好像没得到啥数据,就是1月,2月,3月,11月,12月去三亚吧,这几个月份中3月份和11月份机票最便宜,看来我要写爬取机票的博客了

7318df8f4f0520ef2a6b2f7baf563a85.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值