取得國際空間站所在地的日出時間
import smtplib
import requests
from datetime import datetime
import email.message
def now_ISS_place(iss_url):
response = requests.get(iss_url)
response.raise_for_status()
data = response.json()
# print(data)
x = data['iss_position']['longitude']
y = data['iss_position']['latitude']
return (x, y)
def sun_up_time(lat, lng, sun_url):
Parameters = {
'lat': float(lat),
'lng': float(lng),
'formatted': 0
}
response = requests.get(sun_url, params=Parameters)
response.raise_for_status()
data = response.json()
print(f'日出時間={data["results"]["sunrise"]}')
'轉換成datetime物件'
datetime_obj = datetime.strptime(
data["results"]["sunrise"], '%Y-%m-%dT%H:%M:%S+00:00')
print(f'轉換後={datetime_obj}')
# 將轉換後的時間寄信給自己
with smtplib.SMTP('smtp.gmail.com', 587) as con:
con.starttls() # 開啟加密傳輸
user = 'user@gmail.com'
pw = '*******'
con.login(user=user, password=pw)
msg = email.message.EmailMessage()
# 建立msg物件
msg['Subject'] = '日出時間'
#設定主題
msg.set_content(f'國際空間站所在位置的日出時間為{datetime_obj}', charset='utf-8')
# 預設編碼是ASCII, 調整為utf-8解析國字
con.sendmail(from_addr=user, to_addrs=user, msg=msg.as_bytes())
# 傳輸模式設定字節模式,避免資料遺失
position = now_ISS_place('http://api.open-notify.org/iss-now.json')
x = position[0]
y = position[1]
sun_up_time(x, y, 'https://api.sunrise-sunset.org/json')
標籤: 小專案

0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁