ip地址 python request_Python = 20/365

Python = 20/365

天气还是很热,秋老虎很难对付。今日极简5行代码爬个实时天气,给炎炎的秋日送来一点儿清凉……干货满满!

73a32da08a54ffc18df2ce4daa6f4f5f.gif

日更不停,你看行不行?

我带着你,你带着Python Flag,共勉!

No.1 Python实时天气

根据所获得的IP地址,判断当前城市,根据当前城市输出当前天气。

70c1637794d6a7ec31789e9a1d3f1d38.png

第一部分:获取本地IP地址,确定城市(参考Python=17/365)
#获取本地IP地址import sockethostname = socket.gethostname()ip = socket.gethostbyname(hostname)print(ip)#确定城市import geoip2.databasereader = geoip2.database.Reader('/Users/daisy/Desktop/GeoLite2-City_20200804/GeoLite2-City.mmdb')print("您的IP的地理位置是:")response = reader.city(ip)print("城市:{}".format(response.city.names["zh-CN"]))y = response.city.names["en"]
第二部分:获取当前日期(参考Python=18/365)
#获取当前日期import datetimetoday = datetime.date.today()print(today)
第三部分: 链接天气API,爬取天气
#链接天气API,爬取天气import requestsa = 'http://api.openweathermap.org/data/2.5/weather?q={},,CN&appid=免费注册秘钥'.format(y)r = requests.get(a)r.encoding = 'utf-8'c_temp = int(r.json()['main']['temp'])/10print(r.json()['name'],"当前气温是:", c_temp,"℃")
No.2 Python天气APIAPI(Application Programming Interface,应用程序接口)。本文中使用的是https://openweathermap.org/提供的免费API接口,注册即可获得一个秘钥KEY,通过这个KEY就可以实时访问该网站信息,爬取城市天气。
a = 'http://api.openweathermap.org/data/2.5/weather?q={城市},省,国家&appid=秘钥'.format(y)r = requests.get(a)
本网站提供的API标准格式如下:
{"coord":{"lon":121.6,"lat":38.91},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"base":"stations","main":{"temp":303.15,"feels_like":305.42,"temp_min":303.15,"temp_max":303.15,"pressure":1001,"humidity":70},"visibility":8000,"wind":{"speed":5,"deg":120},"clouds":{"all":40},"dt":1597035067,"sys":{"type":1,"id":9679,"country":"CN","sunrise":1597006957,"sunset":1597056925},"timezone":28800,"id":1814087,"name":"Dalian","cod":200}
No.3 Python的request库request库是一常用的http请求库,可以方便地发送http请求,以及方便地处理响应结果。
  • get/post 参数

http请求get与post是最常用的,url为必选参数,常用常用参数有params、data、json、files、timeout、headers、cookies;其他基本用不到的有verify,cert,auth,allow_redirects,proxies,hooks,stream。 JSON 的全称是 JavaScript Object Notation,即 JavaScript 对象符号,它是一种轻量级、跨平台、跨语言的数据交换格式,其设计意图是把所有事情都用设计的 字符串来表示,这样既方便在互联网上传递信息,也方便人进行阅读。所以在本例中我们看到的字符串有几种表示状态,第一种"",表示对象名。第二种:表示对象的值。 在本例中我们用到的是get参数中的json,其整个连接和操作过程如下图所示。

20e5e2add920f213c7bd333881e9417e.png

弄懂原理,事半功倍!

2f0d1f32632c8bdc7d442c018816eeac.png

  • Python365专辑

Python,365! 9c22256aecca6af622f934f30578bd12.png 51ca8b63fe1e41240e5fa316fa4821eb.png 37d90770b0c7fb833b523d4b696e128b.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值