Python爬取天气预报,Ta的城市开始降温了

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


基本环境配置

  • python 3.6
  • pycharm
  • requests
  • parsel
  • csv

相关模块pip安装即可

确定目标网页

在这里插入图片描述

在这里插入图片描述

分析网页

打开开发者工具常规操作~
看一下网页返回的数据,是否有自己有要的~
在这里插入图片描述
在这里插入图片描述
如图所示,这个网站是静态网页,数据都在网页中的 tr 标签里面

代码部分

  • 请求网页数据
import requests
url = 'https://weather.mipang.com/changsha/9yuefen.html'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
  • 解析网页提取想要的数据
selector = parsel.Selector(response.text)
trs = selector.css('.tb tr')
for tr in trs:
    dit = {}
    date = tr.css('td:nth-child(1)::text').get()
    dit['日期'] = date
    max_temperature = tr.css('td:nth-child(2)::text').get()
    dit['最高温度'] = max_temperature
    min_temperature = tr.css('td:nth-child(3)::text').get()
    dit['最低温度'] = min_temperature
    weather = tr.css('td:nth-child(4)::text').get()
    dit['天气'] = weather
    wind = tr.css('td:nth-child(5)::text').get()
    dit['风向'] = wind
    wind_power = tr.css('td:nth-child(6)::text').get()
    dit['风力'] = wind_power
    print(dit)

在这里插入图片描述

  • 保存数据
f = open('天气.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['日期', '最高温度', '最低温度', '天气', '风向', '风力'])
csv_writer.writeheader()
csv_writer.writerow(dit)
f.close()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值