实现目标:爬取某地历史天气情况(以深圳2019年为例)
需要的库:requests,bs4,pandas
PS:requests 和 bs4 库很小,大概150K左右
第一步:
找目标url;

第二步:获取网页源代码

url = 'http://www.tianqihoubao.com/lishi/shenzhen/month/201901.html'
req = requests.get(url)
html = req.text

第三步:数据提取,提取自己需要的内容

soup = BeautifulSoup(html,'html.parser')
tr_list = soup.find_all('tr')
datas,condition,temp = [], [], []
for data in tr_list[1:]:sub_data = data.text.split()a = sub_data[0].replace('年','/')#将年月日用'/'代替,此处可省略,看个人需求b = a.replace('月','/')c = b.replace('日', '')datas.append(c)condition.append(''.join(sub_data[1:3]))temp.append(''.join(sub_data[3:6]))

打印效果如下:

第四步:保存数据

_data = pd.DataFrame()   # 创建一个表格
_data['日期'] = datas  #向表格内添加数据
_data['天气状况'] = condition
_data['温度'] = temp
_data.to_csv('深圳2019.01天气记录.csv',index=False, encoding='utf-8')

效果如下:

如下是一个月和多个月的整体代码。

import requests
from bs4 import BeautifulSoup
import pandas as pd'''====================================深圳2019.1历史天气数据======================================'''
# 目标url
url = 'http://www.tianqihoubao.com/lishi/shenzhen/month/201901.html'
# 获取网页源代码
req = requests.get(url)
html = req.text
soup = BeautifulSoup(html,'html.parser')
tr_list = soup.find_all('tr')
datas,condition,temp = [], [], []
for data in tr_list[1:]:sub_data = data.text.split()a = sub_data[0].replace('年','/')b = a.replace('月','/')c = b.replace('日', '')datas.append(c)condition.append(''.join(sub_data[1:3]))temp.append(''.join(sub_data[3:6]))
# 数据保存
_data = pd.DataFrame()   # 创建一个表格
_data['日期'] = datas  #向表格内添加数据
_data['天气状况'] = condition
_data['温度'] = temp
_data.to_csv('深圳2019.01天气记录.csv',index=False, encoding='utf-8')'''====================================深圳2019 1——4月的历史天气数据======================================'''# 获取url
def get_data(url):req = requests.get(url)html = req.text# 数据提取soup = BeautifulSoup(html,'html.parser')  tr_list = soup.find_all('tr')datas,condition,temp = [], [], []for data in tr_list[1:]:sub_data = data.text.split()# print(sub_data)a = sub_data[0].replace('年','/')b = a.replace('月','/')c = b.replace('日', '')datas.append(c)condition.append(''.join(sub_data[1:3]))temp.append(''.join(sub_data[3:6]))# 数据保存_data = pd.DataFrame()   # 创建一个表格_data['日期'] = datas  #向表格内添加数据_data['天气状况'] = condition_data['温度'] = temp# print(_data)return _datadata_01 = get_data('http://www.tianqihoubao.com/lishi/shenzhen/month/201901.html')
data_02 = get_data('http://www.tianqihoubao.com/lishi/shenzhen/month/201902.html')
data_03 = get_data('http://www.tianqihoubao.com/lishi/shenzhen/month/201903.html')
data_04 = get_data('http://www.tianqihoubao.com/lishi/shenzhen/month/201904.html')data = pd.concat([data_01,data_02,data_03,data_04]).reset_index(drop=True)
data.to_csv('深圳2019.01-04月天气记录.csv',index=False, encoding='utf-8')

实例:python爬取某地历史天气预报相关推荐

  1. 使用Python爬取CSDN历史博客文章列表,并生成目录

    使用Python爬取CSDN历史博客文章列表,并生成目录 这篇博客将介绍如何使用Python爬取CSDN历史博客文章列表,并生成目录. 2020年 2020年04月 cv2.threshold() 阈 ...

  2. python爬取基金历史净值_Python学习笔记之抓取某只基金历史净值数据实战案例

    摘要:这篇Python开发技术栏目下的"Python学习笔记之抓取某只基金历史净值数据实战案例",介绍的技术点是"Python学习笔记.Python.历史净值数据.学习笔 ...

  3. python爬虫知网实例-python爬取知网

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! https:github.comgnemougdistribute_crawler ...

  4. python爬取网站实例,Python爬取网页简单示例

    准备材料 一:使用到的Python第三方库是requests 和 BeautifulSoup 二:选择要爬取的网页 我选择了豆瓣小组里的一个帖子回复(是微博或者微信的签名,个人感觉比较有意思) 地址是 ...

  5. python电影评论的情感分析流浪地球_爬虫实例 | Python爬取《流浪地球》豆瓣影评与数据分析(下)...

    [芝麻IP代理]三.数据分析与可视化 1.获取cookies 城市信息筛选中文字 匹配pyecharts支持的城市列表 2.基于snownlp的情感分析 关于snownlp的作用,主要可以进行中文分词 ...

  6. 基于Python爬取福建省莆田市天气预报数据获取与预处理的设计与实现

    文章目录 1 绪论 1.1 概述 1.2 课题背景 2 采用技术与开发工具的简介 2.1 Pthon语言的产生和发展历史 2.2 Python语言的特色 2.3 Python的缺点 2.4 HTML定 ...

  7. python爬取天天基金历史净值_用Python抓取天天基金网基金历史净值数据

    请关注微信公众号:金融数学 FinancialMathematics 玩基金的朋友应该都深有体会,2018是相当惨淡的一年,尤其下半年,能够保本就不错了.2019迎来了开门红,从2月11日到14日,连 ...

  8. python爬取基金历史净值_Python爬取天天基金网历史净值数据

    type 类型,历史净值用lsjz表示 code 基金代码,六位数字 sdate 开始日期,格式是yyyy-mm-dd edate 结束日期,格式是yyyy-mm-dd per 一页显示多少条记录 为 ...

  9. python爬取2345天气网上2011年-2018年历史天气

    由于学业需要,本文利用python爬取2345历史天气,爬取年份为2011年到2018年,由于网页格式以及自身编程水平有限,本文分成四个部分爬取2011~2018的历史天气,分别为:2011-2015 ...

最新文章

  1. 从Java 9 到 Java 17之Java 12
  2. 深入解读首个万亿级语言模型 Switch Transformer
  3. 接口测试工具--apipost如何取消json参数中转义字符
  4. java juc 包_JUC java并发包
  5. sql练习三(DataWhale 系列-最终)
  6. GBK字库集测试求助
  7. Windows如何刷新DNS缓存
  8. 月销13485台的理想ONE,到底做对了哪些事儿?
  9. 2011款iMac的AirDrop使用方法。
  10. Ubuntu Linux 操作系统-清华大学开源软件镜像站下载
  11. 各位观众老爷不如点进来随便评论几句QUQ
  12. 虚化背景(深度映射篇)
  13. 计算机word模块试题,计算机word考试试题1(附答案)
  14. 网页引用优酷视频并添加封面自动播放
  15. 如何实现从CTO到CEO的跨越(红色标注是我关注的点)
  16. python练习(1)
  17. 联想卡在logo界面_联想电脑卡在logo界面 联想电脑卡在载入界面怎么办
  18. 散热膏推荐 散热硅脂推荐
  19. 八旋翼设计,垂直起降!世界上最小的飞行汽车来了
  20. 使用Java写个福字

热门文章

  1. 360安全浏览器龙芯、飞腾、兆芯版
  2. html页面弹窗代码
  3. 好久不联系的朋友,我不知道要用什么理由关心你的生活
  4. ​​​​​​​Fluke Ti450Pro 红外热像仪有没有停产?
  5. 共赢全屋智能X全屋定制新风口 立林与尚品宅配达成战略合作
  6. 实例教程-Python与Kivy联合开发Android程序及与硬件交互1
  7. 代码覆盖率检测工具安装
  8. CentOS 7 防火墙开放端口访问
  9. 存储过程及Kettle初体验
  10. python中的ideavim有什么作用_IdeaVim插件施用技巧