就在前几天,温度就下降的很厉害,出门不多穿衣服,被风吹的酸爽大家都体验过。小编不知道小伙伴们有没有看天气预报的习惯,没有的话可以从本期的代码开始,要不要自己做一个天气预报表呢~在开始做表之前,我们肯定要准备一些数据和操作工具的,下面就一起来做天气预报表吧。

1 构造URL列表

每个月份的历史天气数据是通过一个 Javascript 文件获取的。因此,我们需要构造带爬取数据的 URL 列表,再批量爬取数据。# 构造2019全年的月份列表

months = []

for year in (2019,):

for month in range(12):

months.append("%dd"%(year, month 1))

todo_urls = [

"http://tianqi.2345.com/t/wea_history/js/" month "/58457_" month ".js"

for month in months

]

2 批量下载数据

使用 requests 库获取 js 文件中的数据,并存到 datas 变量中。import requests

datas = []

for url in todo_urls:

r = requests.get(url, headers = headers)

if r.status_code!=200:

raise Exception()

# 去除javascript前后的字符串,得到一个js格式的JSON

data = r.text.lstrip("var weather_str=").rstrip(";")

datas.append(data)

3 解析数据

我们从 js 文件获取的数据 json 格式存储的,需要使用 demjson 对数据进行解析。# 解析所有月份的数据

all_datas = []

for data in datas:

tqInfos = demjson.decode(data)["tqInfo"]

all_datas.extend([x for x in tqInfos if len(x)>0])

4 将结果导入 csv 文件import csv

with open('./hangzhou_tianqi_2019.csv', 'w', newline='', encoding='utf-8') as csv_file:

writer = csv.writer(csv_file)

columns = list(all_datas[0].keys())

writer.writerow(columns)

for data in all_datas:

writer.writerow([data[column] for column in columns])

5 结果展示

没想到我们也可以用python爬虫来看天气预报吧,这可比很早之前我们守在电视机前等待要方便多了,而且操作有趣。更多Python学习推荐:JQ教程网Python大全。

python爬虫天气预报难不难_python爬虫可以用来看天气预报吗?相关推荐

  1. 学会python编程容易吗-Python编程入门难不难

    原标题:Python编程入门难不难 可能很多人都会觉得,IT行业非常高大上.Python编程入门难不难?很多同学还没开始进行Python编程的学习呢,就被恐惧拦在门外了.实际上,真的是这样的吗?不妨跟 ...

  2. python没有英语基础的好学吗-Python好学吗难不难?0基础能学会吗?

    大家都知道,Python是一门非常不错的编程语言,应用领域广泛,薪资待遇高,发展前景也是非常不错的,吸引了很多爱好者,那么Python好学吗难不难?零基础可以学会吗? 1.Python好学吗?0基础可 ...

  3. python编程入门-Python编程入门难不难

    原标题:Python编程入门难不难 可能很多人都会觉得,IT行业非常高大上.Python编程入门难不难?很多同学还没开始进行Python编程的学习呢,就被恐惧拦在门外了.实际上,真的是这样的吗?不妨跟 ...

  4. 零基础学python难吗-Python课程学习难不难?零基础可以学习Python吗?

    零基础入门Python常见的问题有哪些?Python是一门非常不错的编程语言,而且该语言通俗易懂.容易上手,不过大家对于Python的了解并不是很多,也经常对它产生疑问.那么学习Python难不难?零 ...

  5. python好学吗要有什么基础-Python好学吗难不难?0基础能学会吗?

    大家都知道,Python是一门非常不错的编程语言,应用领域广泛,薪资待遇高,发展前景也是非常不错的,吸引了很多爱好者,那么Python好学吗难不难?零基础可以学会吗? 1.Python好学吗?0基础可 ...

  6. python学起来难不难-零基础学Python爬虫难不难?要怎么学?

    零基础学Python爬虫难不难?要怎么学?众所周知,Python是最容易上手的编程语言,如果有一定基础,学会Python爬虫也是分分钟钟的事.对于零基础的学习者来说,Python爬虫也是比较简单的,只 ...

  7. python爬取新闻网站内容_python爬虫案例:抓取网易新闻

    此文属于入门级级别的爬虫,老司机们就不用看了. 本次主要是爬取网易新闻,包括新闻标题.作者.来源.发布时间.新闻正文. 首先我们打开163的网站,我们随意选择一个分类,这里我选的分类是国内新闻.然后鼠 ...

  8. python爬虫微博评论图片_python爬虫爬取微博评论

    原标题:python爬虫爬取微博评论 python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手.python爬虫微博根据微博存在于不同媒介上,所爬取的难度有差异,无 ...

  9. python爬取收费素材_Python爬虫练习:爬取素材网站数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 在工作中的电子文案.ppt,生活中的新闻.广告,都离不开大量的素材,而素材 ...

最新文章

  1. git克隆远程项目并创建本地对应分支
  2. css3毛玻璃模糊效果
  3. Android精准计步器
  4. 低幼年龄段在线教育白皮书
  5. linux内核ufs设备树,Linux内核初始化流程笔记
  6. 一直认为in,exists 不走索引,被同事鄙视了……
  7. 作业帮电脑版在线使用_一起作业学生app 手机版免费在线下载
  8. 二分分类2.1 二分分类
  9. Determining if ip address is already in use for device eth0
  10. 程序设计教程用c 语言编程,程序设计教程--用C 语言编程
  11. 组合总和3 leetcode 216
  12. Python文件夹copy器(多进程版)学习笔记
  13. abb机器人编程指令写字_ABB机器人编程指令创建
  14. 贝塞尔曲线运动n阶追踪方程的数学原理及其匀速化方法和应用
  15. AttributeError:module ‘keras.engine.topology‘ has no attribute ‘load_weights_from_hdf5_group_by_name
  16. 如何关闭谷歌浏览器阅读清单(新方法)
  17. Windows 无法连接到无线网络
  18. 绘制CAD图纸的过程中CAD快捷键失灵了怎么办?
  19. oracle 中将number类型的数据转化成指定格式的小数
  20. WPF下聊天气泡的实现

热门文章

  1. SAP 采购订单税金抓取方法
  2. abap CA CO CS等操作符
  3. SAP SD 模块与FI、MM的接口
  4. SAP 财务会计结构
  5. 刷抖音对手机有什么要求_6频段全面5G手机 nova6 5G成新年换机最佳之选
  6. java 在线电影_java电影在线影评管理系统
  7. Python中定义函数的三种形式
  8. python 使用dir() help() 查看一个对象所有拥有的方法和属性
  9. Python标准库 数学与随机数 (math包,random包)
  10. Python高手必读,做一个精通规则的玩家