圆月山庄资源网 Design By www.vgjia.com
python基于新浪sae开发的微信公众平台,实现功能:
输入段子---回复笑话
输入开源+文章---发送消息到开源中国
输入快递+订单号---查询快递信息
输入天气---查询南京最近五天天气状况
输入微博热点---回复微博当前热门话题
输入电影+名称---回复百度云盘中搜索的链接
具体实现代码:
# -*- coding: utf-8 -*- import hashlib import web import lxml import time import os import urllib2,json import urllib import re import random import hashlib import cookielib from urllib import urlencode from lxml import etree class WeixinInterface: def __init__(self): self.app_root = os.path.dirname(__file__) self.templates_root = os.path.join(self.app_root, 'templates') self.render = web.template.render(self.templates_root) def GET(self): #获取输入参数 data = web.input() signature=data.signature timestamp=data.timestamp nonce=data.nonce echostr=data.echostr #自己的token token="weixin9047" #这里改写你在微信公众平台里输入的token #字典序排序 list=[token,timestamp,nonce] list.sort() sha1=hashlib.sha1() map(sha1.update,list) hashcode=sha1.hexdigest() #sha1加密算法 #如果是来自微信的请求,则回复echostr if hashcode == signature: return echostr def POST(self): str_xml = web.data() #获得post来的数据 xml = etree.fromstring(str_xml)#进行XML解析 content=xml.find("Content").text#获得用户所输入的内容 msgType=xml.find("MsgType").text fromUser=xml.find("FromUserName").text toUser=xml.find("ToUserName").text if(content == u"天气"): url = "http://m.ip138.com/21/nanjing/tianqi/" headers = { 'Connection': 'Keep-Alive', 'Accept': 'text/html, application/xhtml+xml, */*', 'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'} req = urllib2.Request(url, headers = headers) opener = urllib2.urlopen(req) html = opener.read() rex = r'("/image/s[0-9].gif" alt=").{1,6}(" />)' rexx = r'("temperature">).{5,15}("" for (i,j) in zip(m,n): str_wether = str_wether + j + " " +i + "\n" return self.render.reply_text(fromUser,toUser,int(time.time()),"最近五天天气:\n"+str_wether) elif(content[0:2] == u"电影"): keyword = urllib.quote(content[2:].encode("utf-8")) url = "http://www.wangpansou.cn/s.php"+keyword headers = { 'Connection': 'Keep-Alive', 'Accept': 'text/html, application/xhtml+xml, */*', 'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'} req = urllib2.Request(url, headers = headers) opener = urllib2.urlopen(req) html = opener.read() rex = r'https"' m = re.findall(rex,html) string = u"" for i in m: string = string + i + "\n" return self.render.reply_text(fromUser,toUser,int(time.time()),u"以下是电影链接:\n"+string) elif(u"段子" in content): url_8 = "http://www.qiushibaike.com/" url_24 = "http://www.qiushibaike.com/hot/" headers = { 'Connection': 'Keep-Alive', 'Accept': 'text/html, application/xhtml+xml, */*', 'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'} req_8 = urllib2.Request(url_8, headers = headers) req_24 = urllib2.Request(url_24,headers = headers) opener_8 = urllib2.urlopen(req_8) opener_24 = urllib2.urlopen(req_24) html_8 = opener_8.read() html_24 = opener_24.read() rex = r'("content">).*"开源"): url = "https://www.oschina.net/action/user/hash_login" urll = "http://www.oschina.net/action/tweet/pub" username = "904727147@qq.com" passw = "" password = hashlib.sha1(passw).hexdigest() cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0')] urllib2.install_opener(opener) data = {'email':username,'pwd':password} data_post = urllib.urlencode(data) opener.open(url, data_post) user = "2391943" msg = content[2:].encode("utf-8") user_code = "lPFz26r3ZIa1e3KyIWlzPNpJlaEmZqyh6dAWAotd" post = {'user_code':user_code,'user':user,'msg':msg} msg_post = urllib.urlencode(post) html = urllib2.urlopen(urll,msg_post).read() return self.render.reply_text(fromUser,toUser,int(time.time()),u"发送到开源中国动弹成功!") elif(content[0:2] == u"快递"): keyword = content[2:] url = "http://www.kuaidi100.com/autonumber/autoComNum"+keyword cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0')] urllib2.install_opener(opener) html = urllib2.urlopen(url).read() jo = json.loads(html) typ = jo["auto"][0]['comCode'] if(typ is None): return self.render.reply_text(fromUser,toUser,int(time.time()),u"请检查你的定单号!") urll = "http://www.kuaidi100.com/query"+typ+"&postid="+keyword html_end = urllib2.urlopen(urll).read() jo_end = json.loads(html_end) if(jo_end["status"] == "201"): return self.render.reply_text(fromUser,toUser,int(time.time()),u"订单号输入有误,请重新输入!") text = jo_end["data"] string = u"" for i in text: string = string + i["time"] + i["context"] + "\n" return self.render.reply_text(fromUser,toUser,int(time.time()),string) elif(content == u"微博热点"): url = "http://weibo.cn/pub/" headers = { 'Connection': 'Keep-Alive', 'Accept': 'text/html, application/xhtml+xml, */*', 'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'} req = urllib2.Request(url, headers = headers) opener = urllib2.urlopen(req) html = opener.read().decode("utf-8") rex = r'("c"><a href=").{60,79}("" for i in ss: string = string + i.replace('>','\n')+"\n" return self.render.reply_text(fromUser,toUser,int(time.time()),string.replace('"','')) elif(content == u"知乎信息"): username = '18362983803' password = '' _xsrf='558c1b60725377c5810ae2484b26781e' url = r'https://www.zhihu.com/login/phone_num' cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0')] data = urllib.urlencode({"phone_num":username,"password":password,'_xsrf':_xsrf}) opener.open(url,data) html = opener.open('https://www.zhihu.com/noti7/new"增长了:"+str(data[0])+"个评论"+str(data[1])+"个粉丝"+str(data[2])+"个赞同" return self.render.reply_text(fromUser,toUser,int(time.time()),string) elif(u"钟志远" in content): return self.render.reply_text(fromUser,toUser,int(time.time()),u"你想找全世界最帅的人干嘛?如果你是妹子,请加微信18362983803!汉子绕道!") elif(u"使用" in content): return self.render.reply_text(fromUser,toUser,int(time.time()),u"搜电影:电影+电影名,最近天气:天气,微博热门:微博热点,快递查询:快递+单号,看笑话:段子,发送动弹到开源中国:开源+内容") else: url = r'http://www.xiaohuangji.com/ajax.php' cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0')] string = urllib.quote(content.encode("utf-8")) try: data = urllib.urlencode({"para":string}) html = opener.open(url,data).read() string = html+"\n----[回复[使用]]" return self.render.reply_text(fromUser,toUser,int(time.time()),string) except Exception,ex: return self.render.reply_text(fromUser,toUser,int(time.time()),u"我不想理你了~")
以上就是本文的全部内容,希望对大家的学习有所帮助。
标签:
python,微信公众平台
圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com
暂无评论...
更新日志
2024年11月08日
2024年11月08日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]