Python爬取天气预报,Ta的城市开始降温了[Python基础]

python

前言

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

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()

以上是 Python爬取天气预报,Ta的城市开始降温了[Python基础] 的全部内容, 来源链接: utcz.com/z/530353.html

回到顶部