python爬取实时数据_Python爬虫练习:爬取天气数据实时数据并保存(附源码)

前言

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

项目目标

爬取米胖天气网站,保存实时数据

受害者地址

(https://weather.mipang.com/)

f1abab065e8e1c27247362b74cd5fc70.png

8d1024799700d582a5f88c50a19166a9.gif

开始代码

导入工具

import requests

import parsel

import csv

import time

请求网站

url = 'https://weather.mipang.com/changsha/{}yuefen.html'.format(page)

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

if not dit['日期'] == None:

csv_writer.writerow(dit)

print(dit)

else:

print(None)

保存数据

f = open('天气.csv', mode='a', encoding='utf-8-sig', newline='')

csv_writer = csv.DictWriter(f, fieldnames=['日期', '最高温度', '最低温度', '天气', '风向', '风力'])

csv_writer.writeheader()

f.close()

运行代码,效果如下图

274c7ef27b3904bdb53a400fc7050ced.png

本文分享 CSDN - 松鼠爱吃饼干。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值