大神用python爬取天气信息并且语言播报

用Python爬取天气并且语言播报! 一、 预备知识 此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报 。 要用到requests库,lxml库,pyttsx3库,没有的,可以先安装一下,都可以通过pip安装: pipinstallrequests pipinstalllxml pipinstallpyttsx3 Requests库是个功能很强大的网络请求库,可以实现跟浏览器一样发送各种HTTP请求来获取网站的数据。 Lxml库是处理XML和HTML功能最丰富,最易于使用的库,通常用lxml库中的et... 阅读详情

一、 预备知识

此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报
。
要用到requests库,lxml库,pyttsx3库,没有的,可以先安装一下,都可以通过pip安装:

pip install requests
pip install lxml
pip install pyttsx3

Requests库是个功能很强大的网络请求库,可以实现跟浏览器一样发送各种HTTP请求来获取网站的数据。

Lxml库是处理XML和HTML功能最丰富,最易于使用的库,通常用lxml库中的etree使HTML转化为文档。

Pyttsx3库是一个很简单的播放语音的库,你给它什么,它就读什么,当然别在意生硬的语气。
基本用法如下:

import pyttsx3

word = pyttsx3.init()

word.say('你好')
# 关键一句,没有这行代码,不会播放语音
word.runAndWait()

码字不易废话两句:有需要学习资料的或者有技术问题交流 “点击”即可

爬虫是爬取网页的相关内容,了解HTML能够帮助你更好的理解网页的结构、内容等。
TCP/IP协议,HTTP协议这些知识了解一下就可以,能够让你了解在网络请求和网络传输上的基本原理,这次的小案例用不到。

二、 详细说一说

2.1. get请求目标网址

我们首先导入requests库,然后就用它来获取目标的网页,我们请求的是天气网站中的北京天气。

import requests
# 向目标url地址发送请求,返回一个response对象
req = requests.get('https://www.tianqi.com/beijing/')
# .text是response对象的网页html
print(req.text)

打印出的结果就是网站上显示的内容,浏览器就是通过这些内容“解析”出来我们看到的结构如下:

在这里插入图片描述

我们请求后的获得的数据

在这里插入图片描述

注意啦,小伙伴们有很大可能运行之后得不到网页代码,而是显示403,这是什么意思呢?

403错误是一种在网站访问过程中,常见的错误提示,表示资源不可用。服务器理解客户的请求,但拒绝处理它。

我们写的爬虫一般会默认告诉服务器,自己发送一个Python爬取请求,而很多的网站都会设置反爬虫的机制,不允许被爬虫访问的。

所以,我们想让目标服务器响应,那就把我们的爬虫进行一下伪装。此小案例就用常用的更改User-Agent字段进行伪装。

改一下之前的代码,将爬虫伪装成浏览器请求,这样就可以进行正常的访问了。

import requests

headers = {'content-type':'application/json', 'User-Agent':'Mozilla/5.0 (Xll; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}

# 向目标url地址发送请求,返回一个response对象
req = requests.get('https://www.tianqi.com/beijing/',headers=headers)
# .text是response对象的网页html
print(req.text)

User-Agent字段怎么来的呢?我们以Chrome浏览器为例子,先随便打开一个网页,按键盘的F12或在空白处点击鼠标右键选择“检查”;然后刷新网页,点击“Network”再点击“Doc”,点击Headers,在信息栏查看Request Headers的User-Agent字段,直接复制,咱们就可以用啦。

2.2. lxml.etree登场

我们从网页请求获得的数据繁杂,其中只有一部分是我们真正想得到的数据,例如我们从天气的网站中查看北京的天气,只有下图中使我们想要得到的,我们如如何提取呢?这就要用到lxml.etree。

在这里插入图片描述

整个代码中只有一小部分我们想要的信息,我们发现想要的天气、温度啊都在“class='weather_info'”这一层级下,那这就好办了。我们在请求的代码的后面加上:

html_obj = etree.HTML(html)
html_data = html_obj.xpath("//d1[@class='weather_info']//text()")

我们print(html_data)一下看看提取是不是我们想要的数据。

在这里插入图片描述

发现连网页中换行符啊什么的也都提取出来了,还有,别忘了,提取出来的是列表哦。我们还要做一下处理。

word = "欢迎使用天气播报助手"

for data in html_data:
    word += data

处理完我们打印一下看看,嗯,我们想要的都有了。不过还多了一个[切换城市],我们精益求精,最后把这个最后再去掉。

在这里插入图片描述

2.3. 把结果说出来

我们想要的数据都在word变量里啦,现在就让他读出来,用pyttsx3这个库,

ptt = pyttsx3.init()
ptt.say(word)
ptt.runAndWait()

好的,现在都已完成。
我们一步一步都摸索过来,现在整合在一起,最后播放效果还是不错的,这是一次很美好的爬虫之旅,期待下次爬取!

以上就是小编今天为大家带来的内容,小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴 " 点击 " 即可领取

Python构建自动化新闻播报系统:从爬取到语音合成 自然语言处理(NLP)与语音合成技术正在重塑信息获取方式。通过Transformer模型实现智能文本摘要,结合TTS技术将文字转化为语音,可以构建高效的自动化信息处理系统。这类系统在新闻聚合、智能助手等领域具有广泛应用价值,能有效解决信息过载问题。本文以Python技术栈为例,详细解析如何整合Scrapy爬虫、BERT分类模型和Edge-TTS服务,实现从新闻采集、内容筛选到语音播报的完整流程。其中重点优化了混合摘要策略和语音自然度提升方案,使系统准确率达到89%,语音自然度评分4.5/5。这种自动化方案特 阅读详情

相关推荐

夏令营纪实——东南大学计科院&PALM实验室面试全解析

本文详细解析了东南大学计科院与PALM实验室夏令营的面试全流程,包括前期准备、技术考察、项目经验深挖等关键环节。特别针对自然语言处理(NLP)和机器学习(ML)领域的高频问题提供应对策略,帮助申请者提升面试表现。文章还分享了实用的准备技巧和面试经验,为有意向参加该夏令营的学生提供宝贵参考。

convnet3designer的博客 459

教你制作最近网上很火的,微信带小辫子表情包

有没有发现,最近很多人在发带有小辫子的表情符号。 不知道的还以为微信又出新的表情符号呢。 看这种辫子表情是不是很萌 码字不易废话两句:有需要学习资料的或者有技术问题交流“点击”即可 这个操作很多朋友还不知道怎么弄,下面就来为大家分享一下微信表情加小辫子操作教程。 其实方法很简单 辫子就是两个字符,我们只需要复制下图这个符号 然后粘贴到微信聊天输入框 再点击符号中间位置 选择微信的任意一个表情插入其中 带小辫子的表情就生成了 是不是很卡哇伊 为了方便输入,你还可以把该符号收藏到输入法中,下次输入的时候

pythonxiaopeng的博客 1541

C++坦克大战源代码

【代码】C++坦克大战源代码。

强国豪,林中霖 2607

小白Python爬虫入门实例1.1——定向爬取30天城市天气数据

import requests from bs4 import BeautifulSoup def getHTML(url): try: r = requests.get(url,timeout = 30) r.encoding = r.apparent_encoding r.raise_for_status() return r.text except: return "" def fillWeather.

m0_47105676的博客 1045

QT | QT打包生成单个EXE文件

1.以release方式运行程序 2.在release文件夹中找到.exe文件 如果没有找到exe,可能是因为在项目中勾选了shadow build,你可以在构建目录中找到exe 3.将exe放在一个新建的文件夹中,因为待会儿会生成很多dll文件 4.点击电脑左下角搜索QT,打开Qt 5.8 for Desktop (MinGQW 5.3.0 32bit) 5.进入刚刚新建的文件夹,输入wi...

⊳ideal world⊲~ヽ(゚︺゚)Hi 1237

大疆上云API-1.10.0版本-设备位置数据实时处理与WebSocket推送实战解析

本文深入解析了大疆上云API 1.10.0版本中设备位置数据的实时处理与推送全链路。通过剖析源码,详细阐述了从MQTT接收OSD数据、Spring Integration路由分发、业务逻辑处理到WebSocket实时推送至前端地图的核心流程,并提供了实战优化与避坑指南,帮助开发者构建高可靠的无人机实时定位系统。

weixin_29291863的博客 412

天气预报数据爬虫实例

爬取天气预报数据 爬取银川市30天天气预报数据

qq_43644946的博客 4762

GPS定位不准?可能是GDOP在作怪!手把手教你优化卫星几何分布

本文深入解析了GPS定位精度不佳的常见原因——几何精度因子GDOP。通过剖析卫星几何分布对定位误差的放大效应,文章提供了从理解GDOP、PDOP、HDOP等关键指标,到使用专业APP实时诊断卫星天空图,再到利用在线工具提前规划最佳定位时机的完整实战指南。旨在帮助户外爱好者、无人机飞手及专业用户主动优化卫星几何条件,从而显著提升定位可靠性。

weixin_29062823的博客 304

Python爬虫:武汉市未来30天 天气预报

Python爬虫学习Python爬虫:武汉市未来30天 天气预报 Python爬虫:武汉市未来30天 天气预报 不废话,上代码 # coding = gbk import requests from bs4 import BeautifulSoup as bs import re def cut_out(a,b,string): # 从获取的文本中截取有用的内容 result...

Wily的博客 1603

医疗领域BGE-M3模型微调全流程:从数据准备到效果评估

本文详细介绍了医疗领域BGE-M3模型的微调全流程,从数据准备到效果评估。通过医疗数据微调,BGE-M3模型在临床问答、病历检索等场景中表现显著提升,能够准确理解医学术语之间的细微差别。文章还提供了实战练习代码和效果评估指标,帮助开发者快速掌握医疗文本嵌入模型的应用技巧。

weixin_29098367的博客 281

VoIP概述

VoIP统一通信与VoIPVoIP与传统电话比较VoIP各项产品设备的类型及应用 统一通信与VoIP 统一通信指的是把计算机与传统通信技术统一成一体的新通信模式,融合计算机网络与传统通信网络在一个网络平台上,实现电话、传真、数据传输、音视频会议、呼叫中心、即时通信等众多应用服务 VoIP又称IP电话或IP网络电话,是Voice Over IP的缩写,这种技术通过对语音信号进行编码数字化,压缩处理成压缩帧,然后转换成为IP数据包在TCP/IP网络上进行传输,从而达到了在IP网络上进行语音通信目的 VoIP与传

kaminao的博客 4355

Python爬虫-爬取天气信息(1)

接下来我将通过三篇文章介绍如何通过天气网 (weather.com.cn)爬取天气信息。本文将介绍爬取地区名称与地区ID的对应关系,为爬取天气信息打下基础。

一只程序猿子的博客 3895

OpenCV-Python图形图像处理:自用的一些工具函数源代码

本文为《OpenCV-Python图形图像处理:博主自用的一些工具函数功能及调用语法介绍》内容配套函数的源代码。

老猿Python 2494

用Python爬取天气并且语言播报

一、 预备知识 此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报 。 要用到requests库,lxml库,pyttsx3库,没有的,可以先安装一下,都可以通过pip安装: 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤QQ群:623406465 pipinsta.

Python_sn的博客 415

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

爬取最近七天的天气情况并实现语言播报-Python综合实战

使用Python爬取最近七天的天气情况并利用百度AI语音合成接口实现语音播报,最终打包成exe,查看天气再也不用打开网页或者打开手机了,文中附带实现全代码!!

阳寜的博客 2036

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python爬取天气并语音播报_Python语言之用Python爬取天气并且语言播报

本篇利用Python网络爬虫,爬取某地天气,并打印和语音播报,希望对Python的学习有所帮助。一、 预备知识此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报 。 要用到requests库,lxml库,pyttsx3库,没有的,可以先安装一下,都可以通过pip安装:pip install requestspip install lxmlpip install pyttsx3Reque...

weixin_39639096的博客 119

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python爬取天气并语音播报_用python爬取天气并且语言播报

一、 预备知识此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报。要用到requests库,lxml库,pyttsx3库,没有的,可以先安装一下,都可以通过pip安装:pip install requestspip install lxmlpip install pyttsx3Requests库是个功能很强大的网络请求库,可以实现跟浏览器一样发送各种HTTP请求来获取网站的数据。Lxm...

weixin_39732640的博客 158

python爬取天气并语音播报_用Python爬取天气并且语言播报

一、 预备知识此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报 。 要用到requests库,lxml库,pyttsx3库,没有的,可以先安装一下,都可以通过pip安装:pip install requestspip install lxmlpip install pyttsx3Requests库是个功能很强大的网络请求库,可以实现跟浏览器一样发送各种HTTP请求来获取网站的数据。L...

weixin_39796652的博客 94

毕业设计-基于 Python 的天气预测系统

毕业设计-基于 Python 的天气预测系统:天气预测与生产生活的各个领域息息相关,在社会发展中发挥着重要作用。天气预测是指综合使用现代科学技术对某一地区未来一 段时间的温度、湿度、风力、风向、天气状况等进行预测。 在当今社会,天气预测对人们的生产生活有着举足轻重的影 响,与日常出行、农业生产、自然灾害预防等多个领域息息 相关,是现代社会正常运转不可或缺的一个部分。随着气象 数据规模的不断增大,以大数据为代表的自动化、智能化 技术在天气预测中开始发挥重要作用。 Python是一种跨平台的解释型面向对象程序设

Hai_Lang_IT的博客 1万+

Python:爬取天气并设计制作天气预报对话框

考试周突然布置python大作业,本来打算网上找现成的拼接一下,但是要不然相同需求的要掏50块钱,要不然太过专业,一看就不是学生几天之内能完成的。于是打算自己做一个。

m0_68524176的博客 3333

使用python爬虫简单创建天气预报系统

想到爬虫大部分人都会想到python,但是不止python可以进行爬虫,只是python语言简单,对于网络爬虫的方式很方便;网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以自动化浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则进行,这些规则我们称之为网络爬虫算法。使用Python可以很方便地编写出爬虫程序,进行互联网信息的自动化检索。

yue040125的博客 904

Python开发智能语音机器人——小O同学

摘要: 当下,人工智能正在走进家居、教育、医疗、交通等几乎所有行业,尤其在计算机领域内,得到了愈加广泛的重视。并在机器人,经济政治决策,控制系统,仿真系统中得到应用。本文主要运用所学的python知识,基于Python的一些库制做了一个带有人机互动、音乐播放、天气播报及新闻播报功能的GUI图形界面。在人机交互、音乐播放、天气播报功能中,将通过麦克风获取的语音信息,进行解析并提取其中的关键信息,来分别获取图灵机器人的返回消息、到指定网页去爬取把需要的内容,最后通过调用Python的库播放出来,新闻播报功能中

aqqwvfbukn的博客 1万+

天气语音助手

“”" 1.获取天气信息(文字) 2.让天气信息以语言形式播放(文字转语音) “”" import requests # 用来发送请求 from lxml import etree # 用来解析数据 转换格式 import pyttsx3 # 导入智能语音播报库 # 1.获取天气信息(文字) 爬虫 爬取数据 # 网址 变量 url = 'https://www.tianqi.com/xian/' # 模拟浏览器发送 headers = { 'user-agent': 'Mozilla/5.

qq_53048695的博客 828

如何“制造”一个属于自己的智能闹钟(python语言)(二)明确目的篇

高考结束,可以填坑 做一个东西首先要画出其设计图,编程也一样要有一个明确的目的 “智能闹钟”顾名思义,不同于普通闹钟仅仅有报时功能。对于“智能闹钟”我希望它有以下几个功能 一:闹钟的基础功能 二:播报当天当地的天气 三:播报昨天的新闻 等等 目的有了,我们便需要寻找方法实现他们。 首先从 播报当天当地的天气 开始 天气我们选择 墨迹天气 ,http://tianqi.moji.com/ 在上面的链...

言多必失不如呵呵的博客 624

使用Qwen3-TTS-12Hz-1.7B-VoiceDesign进行Python爬虫结果语音播报

本文介绍了如何在星图GPU平台上自动化部署Qwen3-TTS-12Hz-1.7B-VoiceDesign镜像,实现Python爬虫结果的智能语音播报。通过该镜像,可将天气预报、新闻摘要等结构化数据实时转化为自然流畅的语音输出,广泛应用于智能家居播报、车载信息提醒及无障碍内容服务等场景。

weixin_36149538的博客 1161
上一篇: 教你制作最近网上很火的,微信带小辫子表情包
下一篇: 让我们一起来看看GitHub上的自动刷喵币项目
python程序员小'鹏
博客等级 码龄6年 163粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值