返回顶部
首页 > 资讯 > 后端开发 > Python >【Python3爬虫】自动查询天气并实现
  • 562
分享到

【Python3爬虫】自动查询天气并实现

爬虫天气 2023-01-30 23:01:44 562人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

之前写过一篇用python发送天气预报邮件的博客,但是因为要手动输入城市名称,还要打开邮箱才能知道天气情况,这也太麻烦了。于是乎,有了这一篇博客,这次我要做的就是用Python获取本机IP地址,并根据这个IP地址获取物理位置也就是我所在

之前写过一篇用python发送天气预报邮件的博客,但是因为要手动输入城市名称,还要打开邮箱才能知道天气情况,这也太麻烦了。于是乎,有了这一篇博客,这次我要做的就是用Python获取本机IP地址,并根据这个IP地址获取物理位置也就是我所在的城市名称,然后用之前的办法实现查询天气,再利用百度语音得到天气预报的MP3文件,最后播放,这样是不是就很方(tou)便(lan)了呢?

 

这次有四个py文件:get_ip.py,get_wather.py,get_mp3.py和main.py。其中get_ip.py实现了获取本机ip地址和物理位置,get_wather.py实现了根据物理位置查询天气,get_mp3.py实现了调用百度语音api把文本转化成MP3文件,main.py是我们需要运行的py文件。这里由于查询天气用的是之前的方法,所以就不需要赘述了,主要说一下get_ip.py和get_mp3.py。

(1)get_ip.py

要获取本机IP,这里有一个很简单的办法,就是打开这个网页:https://www.ip.cn/,打开之后就能看到我们的IP地址和所在地理位置信息了。因为我们可以请求一下这个网页,然后对返回的结果进行一下解析,就能得到我们想要的结果了。代码如下:

 1 """
 2 Version: python3.5
 3 Author: ONIOn
 4 Site: Http://www.cnblogs.com/TM0831/
 5 Time: 2019/2/9 16:46
 6 """
 7 import re
 8 import requests
 9 
10 
11 # 获取本机IP和地理位置
12 def get_ip():
13     res = requests.get("http://www.ip.cn")
14     result = re.findall("<p>您现在的 IP:<code>(.*?)</code></p><p>所在地理位置:<code>(.*?)</code>", res.text)
15     ip, address = "", ""
16     if len(result):
17         ip = result[0][0]  # IP地址
18         address = result[0][1].split(' ')[0]  # 地理位置
19     else:
20         print("Error!")
21         exit()
22     return ip, address

(2)get_mp3.py

这里需要使用百度云,没有账号的需要先注册一下,然后搜索一下百度语音,再创建一个应用,如下:

这里AppID、API Key和Secret Key在后面都需要用到,具体使用方法参见官方文档。这里还需要安装一个第三方库:baidu-aip,可以使用pip install baidu-aip进行下载安装。

下面是一个调用百度语音接口的示例:

 1 from aip import AipSpeech
 2 
 3 """ 你的 APPID AK SK """
 4 APP_ID = '你的 App ID'
 5 API_KEY = '你的 Api Key'
 6 SECRET_KEY = '你的 Secret Key'
 7 
 8 client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
 9 result = client.synthesis('你好百度', 'zh', 1, {
10     'vol': 5,
11 })
12 
13 # 识别正确返回语音二进制 错误则返回dict
14 if not isinstance(result, dict):
15     with open('auido.mp3', 'wb') as f:
16         f.write(result)

 其中synthesis方法的各参数含义如下:

有了这个例子,做起来就简单多了,只需要将天气预报的文本传入进去就行了,然后我们可以根据自己喜好改变一下其他参数。代码如下:

 1 """
 2 Version: Python3.5
 3 Author: OniOn
 4 Site: http://www.cnblogs.com/TM0831/
 5 Time: 2019/2/9 17:53
 6 """
 7 from aip import AipSpeech
 8 
 9 # 你的APP_ID,API_KEY,SECRET_KEY
10 APP_ID = ""
11 API_KEY = “"
12 SECRET_KEY = ""
13 
14 
15 # 获取语音文件
16 def get_mp3(text):
17     client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
18 
19     result = client.synthesis(text, 'zh', 1, {"spd": 4, "vol": 6})
20 
21     # 识别正确返回语音二进制,错误则返回dict
22     if not isinstance(result, dict):
23         with open('weather.mp3', 'wb') as f:
24             f.write(result)
25     else:
26         print("Error!")
27         exit()

 

首先是的代码运行的结果,如下图:

然后会生成一个weather.mp3文件:

 

最后会播放这个MP3文件。

 

完整代码已上传到GitHub

--结束END--

本文标题: 【Python3爬虫】自动查询天气并实现

本文链接: https://lsjlt.com/news/181081.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【Python3爬虫】自动查询天气并实现
    之前写过一篇用Python发送天气预报邮件的博客,但是因为要手动输入城市名称,还要打开邮箱才能知道天气情况,这也太麻烦了。于是乎,有了这一篇博客,这次我要做的就是用Python获取本机IP地址,并根据这个IP地址获取物理位置也就是我所在...
    99+
    2023-01-30
    爬虫 天气
  • SpringMVC结合天气api实现天气查询
    本实例实现在jsp页面实现查询全国城市天气预报的功能,供大家参考,具体内容如下实例目录:实现效果:具体思路:从和风天气api那里取得具体城市的api接口,获取json数据,再对json数据进行解析。获取json数据:package com....
    99+
    2023-05-31
    springmvc api 天气查询
  • Python实现天气查询软件
    目录一、背景二、工具三、代码解读四、完整代码一、背景 某天下班淋雨成了落汤鸡,发了个朋友圈感慨一下啊,然后...... 夜深人静之时,突然收到了来自学妹的Py文件,运行之后发现事情并...
    99+
    2024-04-02
  • Python爬虫之获取心知天气API实时天气数据并弹窗提醒
    目录一、心知天气API密钥获取二、编写代码三、设置为自启动项目一、心知天气API密钥获取 首先,访问https://www.seniverse.com,进行登录或者注册操作,然后在控...
    99+
    2024-04-02
  • Python实现爬取天气数据并可视化分析
    目录核心功能设计实现步骤爬取数据风向风级雷达图温湿度相关性分析24小时内每小时时段降水24小时累计降雨量今天我们分享一个小案例,获取天气数据,进行可视化分析,带你直观了解天气情况! ...
    99+
    2024-04-02
  • Python自动化爬取天眼查数据的实现
    首先要注册一个账号密码,通过账号密码登录,并且滑块验证,自动输入搜索关键词,进行跳转翻页爬取数据,并保存到Excel文件中。 代码运行时,滑块验证经常不通过,被吃掉,但是发现打包成e...
    99+
    2024-04-02
  • Angular中怎么实现查询天气预报功能
    本篇文章给大家分享的是有关Angular中怎么实现查询天气预报功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体代码如下:<!DOC...
    99+
    2024-04-02
  • Python怎么实现爬取天气数据并可视化分析
    本篇内容主要讲解“Python怎么实现爬取天气数据并可视化分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现爬取天气数据并可视化分析”吧!核心功能设计总体来说,我们需要先对中...
    99+
    2023-06-29
  • 如何利用axios和vue实现简易天气查询
    这篇文章主要讲解了“如何利用axios和vue实现简易天气查询”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用axios和vue实现简易天气查询”吧!我们先来看一下效果图,原理很简单就...
    99+
    2023-07-05
  • 浅析怎么利用axios和vue实现简易天气查询
    怎么利用axios和vue实现简易天气查询?下面本篇文章给大家介绍一下vue+axios实现简易天气查询的方法,希望对大家有所帮助!我们先来看一下效果图,原理很简单就是接口的调用以及数据的呈现,界面的布局而已通过如上我们可以看到输入正确的城...
    99+
    2023-05-14
    天气查询 axios Vue
  • Python实战实现爬取天气数据并完成可视化分析详解
    目录实现需求:爬虫代码:实现需求: 从网上(随便一个网址,我爬的网址会在评论区告诉大家,dddd)获取某一年的历史天气信息,包括每天最高气温、最低气温、天气状况、风向等,完成以下功能...
    99+
    2024-04-02
  • Python爬虫实现自动化爬取b站实时弹幕的方法
    这篇文章主要介绍了Python爬虫实现自动化爬取b站实时弹幕的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Python主要用来做什么Python主要应用于:1、Web开...
    99+
    2023-06-14
  • python趣味挑战之爬取天气与微博热搜并自动发给微信好友
    目录一、系统环境二、爬取中国天气网三、爬取微博热搜四、微信自动发送消息五、源代码六、运行效果七、总结一、系统环境 1.python 3.8.2 2.webdriver(用于驱动edg...
    99+
    2024-04-02
  • 如何使用Python爬虫实现自动下载图片
    小编给大家分享一下如何使用Python爬虫实现自动下载图片,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float...
    99+
    2023-06-14
  • 怎么在Python和tkinter界面实现一个历史天气查询功能
    本篇文章给大家分享的是有关怎么在Python和tkinter界面实现一个历史天气查询功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python可以做什么Python是一种编...
    99+
    2023-06-06
  • 微信小程序天气预报功能实现(支持自动定位,附源码)
    目录前言天气API获取微信小程序后台域名配置页面代码注意问题(必看)源码总结前言 由于和风天气API的更新,之前写的那篇文章 可能会出现版本不兼容的 情况。所以 更新了 这个 使用新...
    99+
    2024-04-02
  • Teradata怎么实现自动化优化查询性能
    Teradata提供了一些工具和功能来实现自动化优化查询性能,其中包括: Teradata Query Grid:Teradat...
    99+
    2024-04-09
    Teradata
  • 如何使用Easyui实现查询条件的后端传递并自动刷新表格
    这篇文章将为大家详细讲解有关如何使用Easyui实现查询条件的后端传递并自动刷新表格,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。搜索框如下:通过datagrid的loa...
    99+
    2024-04-02
  • Python如何实现查询剪贴板自动匹配信息
    这篇文章主要介绍“Python如何实现查询剪贴板自动匹配信息”,在日常操作中,相信很多人在Python如何实现查询剪贴板自动匹配信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何实现查询剪贴板...
    99+
    2023-06-20
  • Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
    目录一、分析链接二、切分提取tid三、随机提取评论的内容四、盖楼刷抽奖一、分析链接 上一篇文章指路 一般来说,我们参加某个网站的盖楼抽奖活动,并不是仅仅只参加一个,而是多个盖楼活动一...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作