前言
本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯系我們以作處理,
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()

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/101175.html
標籤:Python
上一篇:Python自動化運維答疑解惑
