今天的小项目是一个天气播报,项目效果是点击运行就读出今天的天气。
那么我们可以分两步走,第一个:先爬取到今天的天天气内容,第二步:电脑读出今天的天气内容
想要电脑读出内容,就用到一个第三方库叫pyttsx3 ,安装和其他第三方库一样,在cmd里面输入
pip install pyttsx3
第一步:爬取天气,选择的是:https://tianqi.2345.com/
import pyttsx3
import requests
from lxml import etree
import time
if __name__ == '__main__':
url_ = 'https://tianqi.2345.com/'
headers_ = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36',
'Cookie': 'BAIDU_SSP_lcr=https://www.baidu.com/link?url=2_kcGFULpmOGesd7t4XR05Uk5SP4mO4jG-fgBdkwFbebqlXoVbysDnuM7sr0QuyL&wd=&eqid=fe17baab0006be82000000066155522a; Hm_lvt_a3f2879f6b3620a363bec646b7a8bcdd=1632973860,1632973883,1632981759,1632981769; Hm_lpvt_a3f2879f6b3620a363bec646b7a8bcdd=1632981769',
'Referer': 'https://www.baidu.com/link?url=2_kcGFULpmOGesd7t4XR05Uk5SP4mO4jG-fgBdkwFbebqlXoVbysDnuM7sr0QuyL&wd=&eqid=fe17baab0006be82000000066155522a'
}
response_ = requests.get(url_, headers=headers_)
data_ = response_.text
# print(data_)
data_obj = etree.HTML(data_)
n = data_obj.xpath('//div[@id="J_bannerList"]/div//text()')
# print(n)
list_c = []
#将获取的数据放入一个列表(这里有几天的数据)
for i in range(len(n)):
k = n[i].replace(" ", "")
j = k.replace("\n", "")
list_c.append(j)
# print(j)
# print(list_c)
a = list(filter(None, list_c))
list_a = a[4:8]
print(list_a)
#提取出今天的数据
for i in range(len(list_a)):
if i == 1:
list2 = []
# list_a[i] = ['今天是']
list_a[i] = list_a[i].split('/')
# print(list_a[i])
a = list_a[i][0] + "月"
# print(a)
b = list_a[i][1] + "日"
# print(b)
list_a[i][0] = a
list_a[i][1] = b
#将今天的数据进行拼接
b = str(str(list_a[0]) + '是' + str(list_a[1]) + str(list_a[2]) + ',' + str(list_a[3]) + ',' + '加油打工人')
print(b)
这就有我们想要的内容了。接下来就是语言功能。
a = pyttsx3.init()
a.say(b)
a.runAndWait()
就三段代码。两个加起来就可以了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)