【python实用小脚本-129】基于 Python 的星座运势查询工具:实时获取每日运势
引言
星座运势一直是许多人关注的话题,无论是出于娱乐还是对未来的某种期待,了解自己的星座运势总能带来一丝乐趣。在数字时代,通过编程技术获取星座运势信息变得更加便捷。本文将介绍一个基于 Python 的星座运势查询工具,它能够通过调用外部 API 获取实时的星座运势数据,并以友好的方式展示给用户。该工具主要利用了 Python 的 requests 库,结合了网络请求和用户交互设计,为用户提供了一个简单易用的星座运势查询解决方案。
总体功能概述
星座运势查询工具是一个 Python 脚本,其核心功能是通过调用外部 API 获取指定星座在特定日期的运势信息,并以文本形式展示给用户。它通过 requests 库发送 HTTP 请求到星座运势 API,解析返回的 JSON 数据,并以友好的方式展示结果。此外,工具还通过用户交互设计,允许用户选择星座和日期,并处理用户输入错误。
API 调用与数据获取
星座运势查询工具通过调用外部 API 来获取星座运势数据。以下是 API 调用与数据获取的代码片段及解析:
import requests
def get_info(sign, day):
base_url = "https://sameer-kumar-aztro-v1.p.rapidapi.com/"
parameters = {"sign": sign, "day": day}
headers = {
'x-rapidapi-host': "sameer-kumar-aztro-v1.p.rapidapi.com",
'x-rapidapi-key': "YOUR_API_KEY"
}
robj = requests.post(base_url, headers=headers, params=parameters)
return_object = robj.json()
if robj.status_code == 200:
res = f'''我们看到您是{sign.capitalize()}星座。{return_object['current_date']}的运势如下:'{return_object["description"]}'\n
您与{return_object["compatibility"]}星座很般配。您的幸运颜色、幸运数字和幸运时间分别是{return_object["color"]}、{return_object["lucky_number"]}和{return_object["lucky_time"]}。\n
您今天可能会处于'{return_object["mood"]}'的情绪中。'''
return res
else:
return "抱歉!未找到结果。"
在上述代码中,requests.post 方法用于发送 HTTP POST 请求到星座运势 API。parameters 包含了星座和日期的参数,headers 包含了 API 密钥和其他必要的头信息。API 返回的数据以 JSON 格式存储在 return_object 中。如果请求成功(状态码为 200),工具会解析返回的数据并生成友好的文本信息,否则返回错误提示。
用户交互设计
为了使工具易于使用,工具通过命令行交互设计,允许用户选择星座和日期。以下是用户交互设计的代码片段及解析:
def bad_input(container, code):
print("\n这不是一个有效的输入。")
yn = input("您是否想退出?(按 y / n) : ")
if yn == 'y':
print("\n感谢您的使用!\n")
return 1
elif yn == 'n':
print("\n请输入一个有效的数字。\n")
return 0
else:
print("\n再次输入无效!\n再见。\n")
return 1
在上述代码中,bad_input 函数用于处理用户输入错误的情况。如果用户输入了无效的选项,工具会提示用户是否退出。如果用户选择退出,工具会结束运行;如果用户选择继续,工具会提示用户重新输入有效的选项。
def main():
info_zodiac = '''
欢迎使用星座运势查询工具!\n\n
请选择您的星座。请输入对应的数字来继续。\n
1. 白羊座
2. 金牛座
3. 双子座
...
输入其他字符退出。\n'''
info_day = '''
您想查询哪一天的运势?\n
1. 昨天
2. 今天
3. 明天
输入其他字符退出。\n'''
zodiac = {'1': 'aries', '2': 'taurus', '3': 'gemini', ...}
day = {'1': "yesterday", '2': "today", '3': "tomorrow"}
print(info_zodiac)
while True:
zodiac_code = input("请输入星座代码 : ")
if not zodiac.get(zodiac_code, 0):
if bad_input(zodiac, zodiac_code):
return
else:
continue
break
print(info_day)
while True:
day_code = input("请输入日期代码 : ")
if not day.get(day_code, 0):
if bad_input(day, day_code):
return
else:
continue
break
result = get_info(zodiac[zodiac_code], day[day_code])
print(f'\n\n这是您的星座运势预测!\n\n"{result}"\n')
在上述代码中,main 函数负责显示菜单并接收用户输入。用户需要输入星座代码和日期代码,工具会根据输入调用 get_info 函数获取星座运势信息。如果用户输入了无效的代码,工具会调用 bad_input 函数处理错误输入。
数据展示
工具将获取到的星座运势数据以友好的文本形式展示给用户。以下是数据展示的代码片段及解析:
res = f'''我们看到您是{sign.capitalize()}星座。{return_object['current_date']}的运势如下:'{return_object["description"]}'\n
您与{return_object["compatibility"]}星座很般配。您的幸运颜色、幸运数字和幸运时间分别是{return_object["color"]}、{return_object["lucky_number"]}和{return_object["lucky_time"]}。\n
您今天可能会处于'{return_object["mood"]}'的情绪中。'''
return res
在上述代码中,工具通过格式化字符串将星座运势数据整合成一段友好的文本信息,包括星座名称、日期、运势描述、兼容星座、幸运颜色、幸运数字和幸运时间等信息。
总结
本文介绍了一个基于 Python 的星座运势查询工具,它通过结合 requests 库的网络请求功能和用户交互设计,实现了从外部 API 获取星座运势数据并展示给用户的功能。该工具具有简单易用、功能实用的特点,适用于对星座运势感兴趣的所有用户。通过本文的介绍,读者可以了解到如何利用 Python 相关技术栈实现星座运势查询工具的开发,为娱乐和信息获取提供了有益的参考。
源码获取
完整代码已开源,包含详细的注释文档:
🔗 [GitCode仓库] https://gitcode.com/laonong-1024/python-automation-scripts
📥 [备用下载] https://pan.quark.cn/s/654cf649e5a6 提取码:f5VG
更多推荐
所有评论(0)