Python3爬虫之自动查询天气并实现语音播报-创新互联
一、写在前面
成都服务器托管,创新互联公司提供包括服务器租用、四川绵阳服务器托管、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、主机域名等业务的一体化完整服务。电话咨询:18982081108之前写过一篇用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地址和所在地理位置信息了。因为我们可以请求一下这个网页,然后对返回的结果进行一下解析,就能得到我们想要的结果了。代码如下:
""" Version: Python3.5 Author: OniOn Site: http://www.cnblogs.com/TM0831/ Time: 2019/2/9 16:46 """ import re import requests # 获取本机IP和地理位置 def get_ip(): res = requests.get("http://www.ip.cn") result = re.findall("您现在的 IP:
(.*?)
所在地理位置:
(.*?)
", res.text) ip, address = "", "" if len(result): ip = result[0][0] # IP地址 address = result[0][1].split(' ')[0] # 地理位置 else: print("Error!") exit() return ip, address
新闻名称:Python3爬虫之自动查询天气并实现语音播报-创新互联
文章源于:http://scyanting.com/article/dpicde.html