12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- # @Author : Rocky
- # @File : IPWeatherObject.py
- # @Time : 2023/8/16 8:56
- import requests
- class IPQuery:
- """
- 阿里云IP地址查询
- https://market.aliyun.com/products/57002003/cmapi021970.html?spm=5176.2020520132.recommend-card.dbottom-suggestion.33e17218GYjWDt#sku=yuncode15970000020
- """
- def __init__(self, ip):
- self.appcode = 'd7d63b34b1d54214be446608a57ff0a2'
- self.host = 'https://c2ba.api.huachen.cn'
- self.path = '/ip'
- self.district = None
- param = 'ip=' + ip
- url = self.host + self.path + '?' + param
- # 获取ip的区级和城市信息
- headers = {'Authorization': 'APPCODE ' + self.appcode}
- res = requests.get(url=url, headers=headers)
- if res.status_code == 200:
- # 反序列化响应数据
- res_data = eval(res.content.decode('utf-8'))
- if res_data['ret'] == 200:
- district = res_data['data']['district']
- city = res_data['data']['city'] + '市'
- self.district = district if district else city
- class WeatherInfo:
- def __init__(self, city_id):
- self.appcode = 'd7d63b34b1d54214be446608a57ff0a2'
- self.headers = {'Authorization': 'APPCODE ' + self.appcode,
- 'Content-Type': 'application/x-www-form-urlencoded'}
- self.city_id = city_id
- def get_city_weather(self):
- url = "https://aliv18.data.moji.com/whapi/json/alicityweather/condition" # 获取实时天气
- data = {'cityId': self.city_id}
- response = requests.post(url, headers=self.headers, data=data, verify=False)
- if response.status_code == 200:
- result = response.json()
- if result['code'] == 0:
- # 返回温湿度
- return '{} ℃'.format(result['data']['condition']['temp']), '{} %'.format(
- result['data']['condition']['humidity'])
- return False
|