10 líneas de código para completar el módulo meteorológico de transmisión de voz de Python, texto a voz de Python + rastreador para obtener las condiciones meteorológicas

Desmantelamiento del proyecto

Informe meteorológico de voz de Python = información meteorológica + texto a voz

Utilice rastreadores para obtener información meteorológica

Dado que simplemente estamos obteniendo información meteorológica, no necesitamos un marco de rastreo complejo. La [biblioteca de solicitudes] básica es suficiente. Además, también necesitamos convertir la información meteorológica obtenida (datos Json) en un diccionario de Python para facilitar el procesamiento posterior. .uso.
Las bibliotecas de Python requeridas son las siguientes:

import requests
import json

La interfaz API (sitio web) para obtener el clima es la siguiente:

url = 'https://www.tianqiapi.com/api/?version=v6&appid=【应用ID】&appsecret=【应用密钥】&city=【城市(汉字)】'

La URL anterior no se puede utilizar directamente. Debe proporcionar el [appid] y el [appsecret] correspondientes, así como el nombre en caracteres chinos de la ciudad que desea consultar. Puede solicitar [appid] y [appsecret] usted mismo. Si le resulta problemático, también puede optar por utilizar los que están en el código del archivo fuente directamente.

[El método de descarga del archivo fuente del código se proporciona al final del artículo]

Utilice input para ingresar el nombre de la ciudad, vincule la URL y el nombre de la ciudad ingresado y luego use request.get() para realizar una solicitud y obtener la respuesta para obtener los datos Json correspondientes a las condiciones climáticas de la ciudad.

city_name = input("请输入查询的城市:(汉字)")
url = url + city_name
response = requests.get(url)
json_data = response.text

Utilice json.loads() para convertir datos Json en un diccionario de Python y utilice los datos del diccionario para formar una descripción de texto del clima:

weather_dict = json.loads(json_data)
say = "当前位置:" + weather_dict['city'] + "," \
    + "今天是:" + weather_dict['date'] + weather_dict['week'] + "," \
    + "当前温度:" + weather_dict['tem'] + "摄氏度" + "," \
    + "当前天气:" + weather_dict['wea'] + "," \
    + "风速:" + weather_dict['win_speed'] + "," \
    + "风力:" + weather_dict['win_meter'] + "," \
    + "空气质量:" + weather_dict['air_level'] + "," \
    + "建议:" + weather_dict['air_tips']

De esta forma obtenemos una descripción textual correspondiente al clima de la ciudad.

Texto a voz en Python

[pyttsx3] es una biblioteca de conversión de texto a voz en Python.
Primero presentamos la biblioteca pyttsx3.

import pyttsx3

Si no tiene esta biblioteca, puede instalarla directamente usando el siguiente comando en la línea de comando de Windows:

pip install pyttsx3

Si aparece el siguiente error después de la instalación: [No hay módulo llamado 'pywintypes'], no intente instalar este módulo primero (este módulo debe instalarse manualmente). Reinicie su entorno Python e inténtelo. Si no aparece funcione, luego elija instalar este módulo manualmente.

Después de instalar la biblioteca pyttsx3, primero inicialice el motor de voz

engine = pyttsx3.init()

Establecer la velocidad del habla, el volumen y el sintetizador de voz.

# 设置语速
engine.setProperty('rate', 110)
# 设置音量
engine.setProperty('volume', 1.0)
# 设置语音合成器
engine.setProperty('voice', "3")

Leer la cadena usando la función say()

engine.say(say)

Espere a que el programa termine de leer la información de transmisión anterior antes de finalizar.

engine.runAndWait()

[Archivo fuente del código] Puede obtener el enlace de descarga de forma gratuita respondiendo a [Python Voice Weather] a través de la cuenta pública [DoNot996], el código viene con comentarios detallados y el [ID de aplicación] y la [Clave de aplicación] de la API meteorológica. y se puede ejecutar directamente después de configurar el entorno. Gracias por su apoyo.

Supongo que te gusta

Origin blog.csdn.net/Online_exspiravit/article/details/127623170
Recomendado
Clasificación