前言

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

项目目标

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

 

 

受害者地址

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

开始代码

导入工具
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()

 

运行代码,效果如下图

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/hhh188764/p/13714169.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!