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

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

一、 预备知识

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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465

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() 

码字不易废话两句:有需要学习资料的或者有技术问题交流可以私信小编发送“01”即可

爬虫是爬取网页的相关内容,了解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() 

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

LwIP在国产MCU的落地实践:从协议栈优化到网络稳定性实战 本文详细介绍了LwIP协议栈在国产GD32F407 MCU上的移植与优化实践,涵盖硬件平台选择、驱动适配、协议栈调优和网络稳定性提升策略。通过内存管理优化、实时操作系统集成和性能测试,为工业物联网应用提供高可靠性网络通信解决方案,显著提升数据传输效率和系统稳定性。 阅读详情

相关推荐

RK3588与FPGA高速PCIe通信:从理论带宽到实战优化的全流程解析

本文深入解析了瑞芯微RK3588与FPGA之间基于PCIe Gen2的高速通信全流程。从理论带宽计算(约1640MB/s)出发,详细拆解了硬件连接、驱动加载、DMA配置等关键步骤,并重点分享了中断优化、内存管理及高级调优等实战技巧,旨在帮助开发者从“跑通”到“跑好”,实现接近理论极限的稳定高效数据传输。

weixin_29175469的博客 330

Python爬虫教学——简单爬取网页数据

本文是一篇介绍如何用Python实现简单爬取网页数据并导入MySQL中的数据库的文章。主要用到BeautifulSoup requests 和 pymysql。

xiaoganbuaiuk的博客 2万+

Coze平台智能体开发实战:打造测试工程师的AI助手

智能体是具备特定身份和能力的AI实体,由大语言模型(LLM)驱动,并通过插件、知识库和工作流扩展其能力。明确的角色定位:可以设定特定身份和专业领域扩展能力:通过插件连接外部工具和服务记忆能力:通过知识库存储和检索专属信息流程化处理:通过工作流执行复杂多步任务通过Coze平台创建测试工程师智能体,可以显著提升测试效率和质量。明确的角色定位:聚焦测试工程师的实际需求丰富的知识库:提供准确的领域知识支持合适的工具集成:通过插件连接现有工具链持续迭代优化:根据反馈不断改进智能体行为自动化测试生成。

hogwarts_beibei的博客 1004

分享1个爬虫小案例,还能语音播报!

Python与算法社区已原创422篇,干货满满值得星标010203三步加星标 1预备知识此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报。要用到requests库,lx...

算法channel 614

从零构建:ESP32S3无线DAP-Link调试器的硬件与软件协同设计

本文详细介绍了基于ESP32S3的无线DAP-Link调试器的硬件与软件协同设计,涵盖关键元器件选型、无线通信协议优化、双核任务处理及低功耗调试方案。通过ESP-NOW协议实现低延迟无线调试,结合USB协议栈与双核协同,为嵌入式开发提供高效灵活的调试解决方案。

gitlab7runner的博客 857

YDOOK: ANSYS Maxwell 19 教程7:Maxwell 2D 材料管理 添加新增 永磁材料

使用ANSYS Maxwell 19 添加新增 永磁材料 1. 点击 Add material 按钮后,在左下方的下拉框中下拉选择永磁材料,弹出用材料设置框: 2. 按照下面数据输入 3. 输入 Hc 与 Br/Ap 两项后,其他项的数据将自动计算给出 4. 点击OK后再,为了使得材料属性的完整性,在 Bulk Conductivity 属性行中输入 材料电导率的数值。 ...

YDOOK 1万+

【爬虫】Python爬虫教程(上篇)

本篇文章面向新手,赘述部分较多网络爬虫(又称为网页蜘蛛,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、或者蠕虫。

在岗Golang后端开发,分享一些日常笔记和代码 2461

手推反向传播+numpy实现

反向传播的重要性不必多说,手推也是必备基础,大厂面试要求用numpy实现一下BP也是经常的事。下面以一个简单的两层网络为例(简单到连bias都没有的那种),真·手推反向传播+numpy实现。 说明: input:输入 net_h:隐层 S(x):sigmoid简写 SD(x):sigmoid导数的简写 out_h:隐层经过sigmoid激活的输出 net_o:输出层 out_o:经过经过sigmoid激活的输出层,也就是最后的输出 target(简写t1、t2):Ground...

xian0710830114的专栏 1238

Python---爬虫---警报功能

语音播报: ​ ​# mac 系统下 from os import system data = '爬虫报错' system('say -v{}'.format(data)) ​ # 高级些可以使用 from Cocoa import NSSpeechSynthesizer from AppKit import NSSpeechSynthesizer ​ 2.发送手机短信 fr...

weixin_41245276的博客 1097

Win10安装Nek5000

1 安装wsl 2 2 安装Nek5000 3 安装依赖项 4 安装openmpi 5 配置Nek5000 6 编译Nek5000 7 运行Nek5000算例 8 安装paraview并查看结果

weixin_43176703的博客 3448

EMB电子机械制动系统和EHB电子液压制动系统控制功能的对比

EMB电子机械制动系统相比EHB液压制动系统具有显著优势:响应速度更快(<100ms)、控制精度更高(±2N·m)、能实现单轮独立控制,支持0.1%级制动力调节。在ABS、ESC等安全功能上表现更优,制动平顺性和NVH性能更好,同时提升能量回收效率15%-20%。特别适合智能驾驶需求,可使AEB等系统响应时间缩短50ms,紧急制动距离减少1米以上。EMB系统完美契合高阶自动驾驶对快速响应和精准控制的要求。

m0_59012156的博客 885

Python—requests模块详解

  requests是使用Apache2 licensed 许可证的HTTP库。   用python编写。   比urllib2模块更简洁。   Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。 ...

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 747

innovus:addRepeaterByRule用法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?addRepeaterByRule不管transition/timing violation,只根据约束的length/cap/fanout等等去给net 插buffer。

m0_61544122的博客 1088

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

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

pythonxiaopeng的博客 393

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

weixin_39639096的博客 119

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

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

weixin_39732640的博客 158

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

weixin_39796652的博客 94

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

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

阳寜的博客 2036

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

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

Hai_Lang_IT的博客 1万+

python爬取天气并语音播报_Python爬取天气信息并语音播报

爬虫是爬取网页的相关内容,了解HTML能够帮助你更好的理解网页的结构、内容等。 TCP/IP协议,HTTP协议这些知识了解一下就可以,能够让你了解在网络请求和网络传输上的基本原理,这次的小案例用不到。一、 预备知识此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报 。 要用到requests库,lxml库,pyttsx3库,没有的,可以先安装一下,都可以通过pip安装:pip inst...

weixin_42131705的博客 318

python 语音播报库_Python爬取天气信息并语音播报

导读爬虫是爬取网页的相关内容,了解HTML能够帮助你更好的理解网页的结构、内容等。 TCP/IP协议,HTTP协议这些知识了解一下就可以,能够让你了解在网络请求和网络传输上的基本原理,这次的小案例用不到。一、 预备知识此案例实现功能:利用网络爬虫,爬取某地的天气,并打印和语音播报 。 要用到requests库,lxml库,pyttsx3库,没有的,可以先安装一下,都可以通过pip安装:pip in...

weixin_39815410的博客 163

python 天气预报制作_Python 制作语音天气预报播报程序

之前在参加Python爬虫小分队的学习时,爬取过中国天气网这个网站,可以通过爬虫获取当地的天气信息,今天和大家分享一个将爬虫得到的天气文本信息通过百度语音合成接口制作成语音文件,并进行语音播报。百度语音.png1.编程思路:(1)通过Python爬虫,爬取中国天气网的天气数据。(2)使用百度语音API将天气文本数据转换成语音文件。(3)利用Python的os库,自动播报语音文件。2.示例代码:im...

weixin_29623691的博客 1014

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

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

m0_68524176的博客 3333

python爬取天气信息_Python爬虫-爬取天气信息

爬取天气网站获取天气信息,并生成语音播报#!/usr/bin/env python3# -*- coding : utf-8 -*-'''从数据库中获取城市代码,城市code可从new_city_code.py中获取即我另一篇文章城市code中2017-8-9增加生成语音播报文件 参考yuyin.baidu.com'''from bs4 import BeautifulSoupimport req...

weixin_35869861的博客 593
上一篇: Python + Appium 自动化操作微信入门看这一篇就够了
下一篇: 看这些资料,快速入门Python !
Python_sn
博客等级 码龄6年 324粉丝 290原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值