前言
本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯系我們以作處理,
專案目標
爬取米胖天氣網站,保存實時資料

受害者地址
(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.uj5u.com/houduan/107528.html
標籤:其他
上一篇:前端面試題(一)
