Python爬虫练习:爬取天气数据实时数据并保存(附源码)
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
项目目标
爬取米胖天气网站,保存实时数据
受害者地址
(https://weather.mipang.com/)
开始代码
导入工具
import requestsimport parselimport csvimport 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[
"日期"] = datemax_temperature
= tr.css("td:nth-child(2)::text").get()dit[
"最高温度"] = max_temperaturemin_temperature
= tr.css("td:nth-child(3)::text").get()dit[
"最低温度"] = min_temperatureweather
= tr.css("td:nth-child(4)::text").get()dit[
"天气"] = weatherwind
= tr.css("td:nth-child(5)::text").get()dit[
"风向"] = windwind_power
= tr.css("td:nth-child(6)::text").get()dit[
"风力"] = wind_powerifnot 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()
运行代码,效果如下图
以上是 Python爬虫练习:爬取天气数据实时数据并保存(附源码) 的全部内容, 来源链接: utcz.com/z/530211.html