`

Python发送天气预报信息到手机

阅读更多
这个程序很早以前就写过了,而且是参考的别人的写,具体谁的发
-*- coding:utf-8 -*-  

# file:weather.py  

# by Lee, 2010-1-11  

"""  

抓取天气预报信息,并通过pyfetion发送短信通知  

""" 

import os  
import re  
import urllib  
import sys  
import time  
from PyFetion import * 

    

def GetWeather():  

try:  

# 获取网页源文件  

sock = urllib.urlopen("http://qq.ip138.com/weather/guangdong/DongGuan.htm")  

strhtml = sock.read()  

strhtml = unicode(strhtml, 'gb2312','ignore').encode('utf-8','ignore')  

# 正则式取温度信息  

theGrades = re.findall('''(\d+)℃''', strhtml)  

# 获取天气描述信息  

weathers = re.findall('''  (.*)''',strhtml)  

25         # 定义时间格式  

26         this_date = str(time.strftime("%Y/%m/%d %a"))  

27         now = int(time.time())  

28         sec = 24*60*60 

29         day_today = "今天(%s号)" % str(time.strftime("%d", time.localtime(now+0*sec)))  

30         day_tommo = "明天(%s号)" % str(time.strftime("%d", time.localtime(now+1*sec)))  

31         day_aftom = "后天(%s号)" % str(time.strftime("%d", time.localtime(now+2*sec)))  

32         # 定义短信正文  

33         sms = [this_date]  

34         sms.append("东莞天气")  

35         sms.append("%s:%s, %s-%s℃" % (day_today, weathers[0], theGrades[1], theGrades[0]))  

36         sms.append("%s:%s, %s-%s℃" % (day_tommo, weathers[1], theGrades[3], theGrades[2]))  

37         sms.append("%s:%s, %s-%s℃" % (day_aftom, weathers[2], theGrades[5], theGrades[4]))  

38         sms.append("天气有冷暖,关怀永不变!")  

39         #sms.append("测试中,收到请MSN回复我,谢谢~~")  

40         #sms.append("欢迎对短信格式和每天定点发送时间提出宝贵意见")  

41         smscontent = '\n'.join(sms)  

42         #print len(smscontent)  # check length of sms fetion  

43         return smscontent  #.decode('utf-8').encode('gb2312')  

44     except:  

45         return "There is sth wrong with the weather forecast, please inform the author. thx~" 

46    

47 def SendSMS(sms):  

48     myphone = '1589xxxxx67'  # 手机号  

49     mypwd = 'xxxx'  # 登录密码  

50     destphone = ["62487xxxx", "70078xxxx", "69451xxxx"]  # 发送对象飞信号  

51     # 发送目的地改为飞信号,之前用的手机号做目的地发送,别人的收不到短信  

52     print "\nwaiting for login fetion..." 

53     fetion = PyFetion(myphone, mypwd, 'TCP')  

54     fetion.login(FetionHidden)  

55     for phone in destphone:  

56         print "sending to", phone  

57         fetion.send_sms(sms, phone, True)  

58         print "OK" 

59     fetion.logout()  

60     return True 

61    

62 def main():  

63     print "getting out the weather code..." 

64     msg = GetWeather()  

65     print "\n", msg  

66 #    SendSMS("测试天气预报")  

67     SendSMS(msg)  

68     print "Done." 

69    

70 if __name__ == "__main__":  

71     sys.exit(main()) 

 在哪里我都忘记了。这里就算是半原创了,如有侵权请及时通知改正。
因为从今天1月1号开始,Google上订阅的天气预报服务已经取消了,估计是Google被施加压力了。反正是收不到天气预报了。正好重拾以前的那个脚本,自己设置抓取信息并发到手机就行了。
之前的脚本是用Python写的,抓的是新浪天气预报页面的信息,使用cocobear提供的PyFetion发送到自己手机上。上周拿来一运行,报error...
原来是飞信平台升级了,PyFetion也跟着升级了,而且新浪天气预报的页面也改版了。好嘛。。。
换用ip138提取的天气信息,重新改写如下
分享到:
评论

相关推荐

    手机查询天气预报

    接着,使用编程语言(如Java、Python或C#)构造SOAP请求,发送到指定URL,最后解析返回的SOAP响应,从中提取天气信息。 2. **HTTP GET查询** HTTP GET是HTTP协议中最基础的一种方法,用于从服务器获取资源。许多...

    通过webservices获取当前天气预报

    标题中的“通过WebServices获取当前天气预报”是指利用网络服务接口来实时获取特定地区的天气信息。WebServices是一种基于HTTP协议的、平台无关的通信方式,它允许不同系统间的应用程序互相交换数据。在这种情况下,...

    js调用外部天气预报,手机查询等webservices

    在本主题中,我们将深入探讨如何使用JS调用外部天气预报和手机查询等Web服务。 一、Web Services简介 Web服务是一种基于互联网的、使用标准协议(如HTTP)来交换数据和业务逻辑的软件应用。它们允许不同系统之间...

    天气预报,城市选择的demo

    城市天气预报是一个重要的服务,它提供了实时或未来几天的气象信息,帮助人们规划日常生活、出行或是商业决策。在这个“天气预报,城市选择的demo”中,我们可能涉及到以下几个关键的技术知识点: 1. **API接口使用...

    语音天气预报

    7. **多平台兼容**:考虑到语音天气预报可能在手机、智能音箱等不同设备上运行,开发者需要确保代码能在iOS、Android、Windows和Linux等操作系统上运行,这就涉及到跨平台开发的知识。 8. **异常处理**:在处理网络...

    手机天气预报系统.zip

    手机天气预报系统是一种移动应用程序,它为用户提供实时的天气信息,包括气温、湿度、风向、风速、天气状况(晴、雨、多云等)以及未来几天的天气预测。这个压缩包“手机天气预报系统.zip”可能包含了开发这样一个...

    15行Python代码实现免费发送手机短信推送消息功能

    标签“手机”表明此功能与手机接收短信有关,意味着用户可以通过手机接收到由Python程序发送的信息。 部分内容展示了实现这一功能的具体步骤和代码: 1. **免费注册获取发送短信的API接口**:这个过程通常涉及访问...

    简单web_service天气预报

    在这个“简单web_service天气预报”的项目中,我们主要关注如何利用Web服务来获取并展示天气预报信息。 1. **Web服务的工作原理** Web服务通过XML(可扩展标记语言)进行数据交换,使用SOAP(简单对象访问协议)...

    使用Python的智能语音助手.pdf

    它们能够执行诸如发送短信、查询天气预报、播放音乐等各种任务。 #### 3. 语音识别技术 语音识别是智能语音助手的核心技术之一。它涉及到将人类的声音转换成文本或命令的过程。这一过程通常包括几个关键步骤:声音...

    可以直接通过请求判断你iP地址获取你所在城市天气

    开发者对原有的代码或服务进行了调整,使得客户端(可能是手机应用或网页)能够发送请求,服务器通过解析请求的IP地址,识别出用户的地理位置,进一步调用天气API获取并返回对应城市的天气状况。 在“标签”中,...

    基于Web Service的3G手机应用开发入门讲座

    以一个简单的天气查询应用为例,应用会通过调用公开的天气预报Web Service,获取用户所在城市的天气信息,并在3G手机界面上展示。这个过程中涉及的关键步骤包括:解析WSDL文件获取接口信息,构造SOAP请求,发送请求...

    rain_alert:如果要下雨,请发送短信给我,说“带上雨伞”。

    4. **短信服务**:Python可以调用第三方短信服务API,如Twilio或Nexmo,发送短信到用户的手机。这通常涉及API密钥的管理,以及构建合适的短信内容和接收者列表。 5. **定时任务**:为了持续监控天气情况,系统可能...

    WebServic接口类库

    1. **天气查询**:通过WebService接口,开发者可以集成天气API,获取特定城市的实时或未来几天的天气预报信息。这通常涉及到地理坐标、城市名或邮政编码的输入,返回结果包括温度、湿度、风向风力等气象参数。 2. *...

    日期,地址一体化

    例如,一个天气预报API可能返回未来一周每天的天气信息,每个条目都包括日期和对应城市的天气状况。 6. **地图应用集成**:在地图应用中,日期和地址一体化常用于规划路线或活动安排。用户可以输入日期和地点,应用...

    获取alexa排名源代码

    4. "ip地址查询-手机号码查询-身份证号码查询-天气预报-友情链接-笑话大全.url":这个文件同样是一个网址书签,指向提供各种实用查询服务的网站,可以作为了解其他在线服务集成的例子。 5. "健康资讯-保健-生育-减肥...

    API接口应用

    这些服务提供实时和预报天气数据,包括温度、湿度、风速等。开发者需要向这些服务注册并获取API密钥,然后按照指定的API接口调用来获取所需的天气信息。返回的数据通常是JSON格式,我们需要解析这些数据并将其展示给...

    dc.zip_点菜系统

    在"点菜系统程序、手机点菜系统【附服务器源码,附日历,天气预报】_files"中,我们可以找到系统的核心代码资源。这部分源码通常包括前端应用的界面逻辑、网络通信模块以及后端服务器的业务处理逻辑。通过阅读源码,...

    GPS定位得到经纬度

    而对于不需要那么精确位置信息的应用(如天气预报),更新频率可以降低,以节省电力或网络资源。 在文件“ZNew-1Gps1”中,可能包含了实现这一功能的代码示例、库文件或者相关的软件开发资源。如果这是一个开发项目...

    天气API

    1. 移动应用:许多天气类应用,如手机上的天气预报应用,会集成天气API来提供准确的本地天气信息。 2. 旅行规划:旅游平台可以利用天气API帮助用户规划行程,避免恶劣天气。 3. 物联网:智能设备如智能家居系统,可...

Global site tag (gtag.js) - Google Analytics