如何给自己心仪的人每天发送天气提醒消息

如何给自己心仪的人每天发送天气提醒消息

 如何给自己心仪的人每天发送天气提醒消息

 

 

首先我们来想想一下,女朋友叫你每天给她发送一条天气消息,而且不能重复,如果你能坚持一个年,那她就同意嫁给你。可是你想了一下,你特别懒,而且可能坚持不了一个年,这可急坏了。这可怎么办,万一忘记了怎么办。

 

 

01— 思路

 

 

这里的需求是什么?

 

首先来看,女朋友叫你发天气短信给她,而且还要每天发送,你必须坚持一年。

 

没问题,之前我们刚好使用过发送短信的手段,那我们把它用起来。

那天气消息呢?

我们搜索相关天气频道的获取天气的接口,看能不能找到,你还别说,真找到了。

那好,发送短信,和天气都获取到了,然后我们要做什么呢?那当然是找材料了。

 

02— 材料准备

 

材料:

1、pip install twilio

2、一个天气预报的接口

3、女朋友手机号码

4、注册一个twilio账号。

那第四步的话,需要申请一个手机号码,给大家一个网址吧:https://www.twilio.com/

操作什么的就不说了,毕竟百度上已经很多了。

 

 

03— 开始编程

那接下来就进入到编程环节,首先来看,如果发送短信到手机。

发送短信代码如下:

def send_message(text):
    # 下面认证信息的值在你的 twilio 账户里可以找到
    account_sid = "ACecad97aaec8f2e1fbd95b1390ef2acf"
    auth_token = "b5a5a863223b6c3dad4f1e488975dd4"
    client = Client(account_sid, auth_token)
    client.messages.create( to="+86",  # 区号+你的手机号码
                            from_="+150",  # 你的 twilio 电话号码
                            body=text)
    print("发送成功")

这么看是不是很简单这个短信代码。没错就是怎么简单。

 

 

那剩下的就是搞定天气,那我们接着来看。

我们需要天气接口,并获取接口返回的信息。

我这里给大家提供一个接口:

http://t.weather.sojson.com/api/weather/city/101280101

 

主要格式:http://t.weather.sojson.com/api/weather/city/+city_id

 

city_id有一个文件专门提供,待会儿打包带走。

 

那我们如何获取信息呢?

 

我们使用到掉接口的模块,这里使用requests。

代码如下:

def get_weather():#获取天气
    url = "http://t.weather.sojson.com/api/weather/city/101280101"
    html = requests.get(url)
    x = html.json()
    forecast="""时间:{0},{1}
{2},{3},{4},风力{5},{6}
温馨提示:{7}
""".format(x["data"]["forecast"][0]["ymd"], x["data"]["forecast"][0]["week"],
                    x["data"]["forecast"][0]["high"], x["data"]["forecast"][0]["low"],
                    x["data"]["forecast"][0]["fx"], x["data"]["forecast"][0]["fl"],
                    x["data"]["forecast"][0]["type"], x["data"]["forecast"][0]["notice"])
    data="""{0}:{1}
湿度:{2}
pm25:{3}
pm10:{4}
温度:{5}
质量:{6}
提醒:{7}
{8}""".format(x["time"], x["cityInfo"]["city"], x["data"]["shidu"],
            x["data"]["pm25"], x["data"]["pm10"], x["data"]["quality"],
            x["data"]["wendu"], x["data"]["ganmao"], forecast)#短信格式
    print(data)

 

好了,搞定,成功获取到天气。来看一下输出结果:

 

2019-06-24 14:13:21:广州市
湿度:97%
pm25:8.0
pm10:11.0
温度:优
质量:23
提醒:各类人群可自由活动
时间:2019-06-24,星期一
高温 30.0℃,低温 25.0℃,无持续风向,风力<3级,大雨
温馨提示:出门最好穿雨衣,勿挡视线

看见这个满满的温馨提示,女朋友都开心了不少吧!

 

然后再来固定每天早上8:00发送。

 

来看完整的代码:

 

import  requests
import time
from twilio.rest import Client
​
def send_message(text):
    # 下面认证信息的值在你的 twilio 账户里可以找到
    account_sid = "ACecad97aaec8fe1dfbd95b1390ef2acf"
    auth_token = "b5a5a8632223b6c3dd4f1e488975dd4"
    client = Client(account_sid, auth_token)
    client.messages.create( to="+86",  # 区号+你的手机号码
                            from_="+133",  # 你的 twilio 电话号码
                            body=text)
    print("发送成功")
​
def get_weather():
    url = "http://t.weather.sojson.com/api/weather/city/101280101"
    html = requests.get(url)
    x = html.json()
    forecast="""时间:{0},{1}
{2},{3},{4},风力{5},{6}
温馨提示:{7}
""".format(x["data"]["forecast"][0]["ymd"], x["data"]["forecast"][0]["week"],
                    x["data"]["forecast"][0]["high"], x["data"]["forecast"][0]["low"],
                    x["data"]["forecast"][0]["fx"], x["data"]["forecast"][0]["fl"],
                    x["data"]["forecast"][0]["type"], x["data"]["forecast"][0]["notice"])
    data="""{0}:{1}
湿度:{2}
pm25:{3}
pm10:{4}
温度:{5}
质量:{6}
提醒:{7}
{8}""".format(x["time"], x["cityInfo"]["city"], x["data"]["shidu"],
            x["data"]["pm25"], x["data"]["pm10"], x["data"]["quality"],
            x["data"]["wendu"], x["data"]["ganmao"], forecast)
    send_message(data)#调用发送短信的函数
​
if __name__=="__main__":
    while true:
        time.sleep(1)#防止cpu处理太多,加一个一秒的停顿
        if time.strftime("%H:%M", time.localtime())=="08:00":
              get_weather()

 

成功发送短信;

 

 

一串隐藏的表白代码

python实现祝福弹框

教你如何使用21行代码开发桌面应用

公众号后台回复:短信提醒   获取接口以及源代码。喜欢记得继续关注我们​。​

如何给自己心仪的人每天发送天气提醒消息

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111410.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库主键和外键的作用_数据库外键约束的作用

    数据库主键和外键的作用_数据库外键约束的作用主键保证了数据的唯一性,外键保证了数据的完整性。主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。…

    2025年8月2日
    4
  • 我为什么放弃Go语言

    我为什么放弃Go语言我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

    2022年6月30日
    25
  • sql中的升序和降序的区别_数据库中的降序

    sql中的升序和降序的区别_数据库中的降序select*from表名orderby字段名desc//降序select*from表名orderby字段名asc//升序降序:select*fromemporderbyempiddesc;//按empid这一列的值降序来排列查询出emp表升序:select*fromemporderbyag…

    2025年8月19日
    3
  • Springboot自动装配原理_自动装配原理

    Springboot自动装配原理_自动装配原理springboot自动装配原理详解1)传统ssm整合redis的时候需要在xml的配置文件中进行大量的配置Bean我们在这里使用springboot来代替ssm的整合,只是通过xml的形式来整合redis第一步:加入配置<dependency><groupId>org.springframework.data</grou…

    2022年8月22日
    7
  • Vue中显示img图片,显示不出来怎么办?vue显示图片

    Vue中显示img图片,显示不出来怎么办?vue显示图片1、近期在学习Vue中发现了一个难点就是显示图片&lt;img&gt;试了很多办法都不行,有的还保错。后来我找了很多人,以及网上找资料终于被我给找到了。2、如何你是一个普通组件的话,那么这样就可以了&lt;imgsrc="../assets/images/fk.jpg"width="100%"&gt;上面这种是写死的,下面让我们试试进行动态显示;或者这样写也可以:…

    2022年6月21日
    43
  • python爬取豆瓣电影榜单

    python爬取豆瓣电影榜单python爬取豆瓣电影榜单python爬取豆瓣电影榜单并保存到本地excel中,以后就不愁没片看了。目标确定我们想要抓取的电影的相关内容。抓取豆瓣top250电影的排名、电影名、评价(总结很到位)、评分、点评人数及电影的豆瓣页面。抓取各种电影类型的排行榜前100。编码省略需求到编码中间的繁文缛节,直接上手编码。(此处是最终编码)目标一使用BeautifulSoup解析页面查找元素。目标二调用接口处理返回的json数据。importrequestsimportopenpyx

    2022年5月28日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号