基于Python如何获取城市近7天天气预报

  介绍

小编给大家分享一下基于Python如何获取城市近7天天气预报,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

Python主要用来做什么

Python主要应用于:1,网络开发;2、数据科学研究;3,网络爬虫;4、嵌入式应用开发,5日游戏开发;6桌面应用开发。

这篇文章主要介绍了基于Python获取城市近7天天气预报,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

首先,我们打开中国天气网,找到黄石市近7天天气的网页。

基于Python如何获取城市近7天天气预报

然后按F12开始分析网页结构,找到各个标签,并分析它们的作用.h2:日期;p:天气;tem-span:最高温;tem-i:最低温;赢:风;em:风向;win-i:风力。

基于Python如何获取城市近7天天气预报

接下来,我们需要找到它的用户代理,即用户代理。

基于Python如何获取城市近7天天气预报

分析的差不多了,我们就开始写代码,下面是我写的全部代码及运行结果:

import 再保险   import 请求   得到bs4  import  BeautifulSoup      def  get_page (url): #获取url   尝试才能:   ,,,headers =,{& # 39;用户代理# 39;:& # 39;Mozilla/5.0, (Windows  NT  6.1;, Win64;, x64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/75.0.3770.90  Safari/537.36 & # 39;}   ,,,r =, requests.get (url、标头)   ,,,r.raise_for_status ()   ,,,r.encoding =r.apparent_encoding   ,,,return  r.text   除了才能:   ,,,return  & # 39;出现异常& # 39;,#异常处理,防止出现错误      def  parse_page (html、, weather_list):   soup 才能=,BeautifulSoup (html、, & # 39; html.parser& # 39;)   day_list 才能=,soup.find (& # 39; ul # 39;,, & # 39; t  clearfix& # 39;) .find_all(& # 39;李# 39;)   for 才能;day  day_list:拷贝   ,,,date =, day.find (& # 39; h2 # 39;) .get_text ()   ,,,wea =, day.find (& # 39; p # 39;,, & # 39;我们# 39;).get_text ()   ,,,if  day.find (& # 39; p # 39;,, & # 39; tem # 39;);(& # 39;跨度# 39;):,#判断标签& # 39;p # 39;, & # 39; tem # 39;下是否有标签& # 39;跨度# 39;,以此判断是否有最高温   ,,,,,,,tem_h =, day.find (& # 39; p # 39;,, & # 39; tem # 39;);(& # 39;跨度# 39;).get_text ()   ,,,:   ,,,,,,,tem_h =, & # 39; & # 39;, #最高温   ,,,tem_l =, day.find (& # 39; p # 39;,, & # 39; tem # 39;);(& # 39;我# 39;).get_text(), #最低温   ,,,win1 =, re.findall (& # 39; (& lt;=, title=?。* ? (?=? & # 39;,, str (day.find (& # 39; p # 39; & # 39;赢得# 39;);(& # 39;em # 39;)))   ,,,win2 =, & # 39; & # 39; . join (win1), #风向,win1-win2   ,,,level =, day.find (& # 39; p # 39;,, & # 39;赢得# 39;);(& # 39;我# 39;).get_text(), #风力   ,,,weather_list.append([日期,,我们,,,tem_l, tem_h,, win2,,水平))         def  print_wea (weather_list):   时间=s 才能;& # 39;,\ t # 39; *, 3   打印才能(s.join((& # 39;日期& # 39;,,& # 39;天气& # 39;,,& # 39;最低温& # 39;,,& # 39;最高温& # 39;,,& # 39;风向& # 39;,,& # 39;风力& # 39;)))   for 才能小姐:拷贝weather_list:   ,,,print(我[0],& # 39;\ t # 39;,我[1],& # 39;\ t \ \ t # 39;,我[2],& # 39;\ t \ \ t # 39;,我[3],& # 39;\ t \ t # 39;,我[4],& # 39;\ t \ t # 39;,我[5]),#按格式输出      def  main ():   时间=url 才能;& # 39;http://www.weather.com.cn/weather/101200601.shtml& # 39;   时间=html 才能;get_page (url)   时间=wea_list 才能;[]   parse_page才能(html、, wea_list)   打印才能(“\ t \ t \ \ \ t \ t \ \ \ t黄石市近7天天气预报“)   print_wea才能(wea_list)      if  __name__ ==, & # 39; __main__ # 39;:   以前,,main ()

基于Python如何获取城市近7天天气预报

在格式输出这方面,我的这份代码还存在着很大的缺陷,把它发出来,欢迎大家跟我一起讨论,改进。

基于Python如何获取城市近7天天气预报