b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

PYTHON爬行之旅教程系列[使用Python开发微信公众平台]

电脑杂谈  发布时间:2020-03-25 06:03:19  来源:网络整理

python 微信公众平台 框架_公众微信公众平台使用教程_python微信公众平台教程

微信平台具有“事件推送”的概念. 所谓事件推送是指用户的一些动作. 微信现在支持诸如订阅(subscribe),取消订阅(unsubscribe),单击CLICK(自定义菜单点击事件)之类的事件. 当事件被触发时,将导致推送. 根据上一堂课的部分代码:

str_xml = web.data() #获得post来的数据
xml = etree.fromstring(str_xml)#进行XML解析
mstype = xml.find("MsgType").text
fromUser = xml.find("FromUserName").text
toUser = xml.find("ToUserName").text

其中,当它是一个事件时,mstype是事件. 当它是文本时,mstype是文本. 我们可以继续确定事件类型,然后推送相应的消息.

python 微信公众平台 框架_公众微信公众平台使用教程_python微信公众平台教程

例如,如果我要在用户关注时自动回复欢迎消息,则此mstype为event,然后继续. 如果是订阅,则为“订阅”. 如果取消订阅,则为“取消订阅”. 如果用户发送文本,则mstype为“文本”. 因此,使用此功能可以轻松实现当用户注意时自动回复欢迎消息〜

例如,当用户关注时,我想自动回复“您好,欢迎关注我的微信公众号”,则代码应写为:

if mstype == "event":
   mscontent = xml.find("Event").text
   if mscontent == "subscribe":
      replayText = u'你好,欢迎关注我的微信公众号'
      return self.render.reply_text(fromUser,toUser,int(time.time()),replayText)

公众微信公众平台使用教程_python微信公众平台教程_python 微信公众平台 框架

值得注意的是,上一讲中已经定义了模板reply_text.xml.

0.1.1如何发送音频消息

我相信您无需多说,您知道目前我们缺少音频消息模板. 确定,请查看微信平台的开发人员文档. 创建一个新的音频模板文件reply_sound.xml,代码为:

python 微信公众平台 框架_公众微信公众平台使用教程_python微信公众平台教程

$def with (toUser,fromUser,musicTitle,musicDes,musicURL,HQURL)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music>
<Title><![CDATA[$musicTitle]]></Title>
<Description><![CDATA[$musicDes]]></Description>
<MusicUrl><![CDATA[$musicURL]]></MusicUrl>
<HQMusicUrl><![CDATA[$HQURL]]></HQMusicUrl>
</Music>
</xml>

为进行演示,我们爬行了心理FM的站: 心理FM. 例如,当用户输入关键字“ radio”时,我们将自动回复心理FM当天的音频. 它的代码是:

if content == "电台" or content == "fm" or content == "Fm" or content == "FM":             
                url = 'http://m.xinli001.com/fm/'
                fmre = urllib.urlopen(url).read()
                pa1 = re.compile(r'<head>.*?<title>(.*?)-心理FM</title>',re.S)
                ts1 = re.findall(pa1,fmre)
                pa3 = re.compile(r'var broadcast_url = "(.*?)", broadcastListUrl = "/fm/items/',re.S)
                ts3 = re.findall(pa3,fmre)
                
                req = urllib2.Request(ts3[0])
                response = urllib2.urlopen(req)
                redirectUrl = response.geturl()
                musicTitle = ts1[0]
                musicDes =  ''
                musicURL = redirectUrl
                HQURL = 'http://m.xinli001.com/fm/'
                return self.render.reply_fm(fromUser,toUser,musicTitle,musicDes,musicURL,HQURL)

python微信公众平台教程_公众微信公众平台使用教程_python 微信公众平台 框架

注意导入urllib2,重新导入库文件. 这是我第一次学习python时的代码python微信公众平台教程,非常沮丧,对吧? !!变量未正确命名python微信公众平台教程,并且使用urllib和urllib2都使代码膨胀. 为了显示真实情况,我不会对其进行修改. 这是我们勇敢迈出的第一步〜

解释代码,fmre获取网页的源代码,ts1是与正则表达式匹配的广播电台的标题. ts3是当天的正则表达式匹配的广播音频的真实URL地址. 就是这样.

0.1.2如何发送短信

已经很熟悉了,构建另一个图形消息模板reply_pic.xml,代码如下:

$def with (toUser,fromUser,title1,description1,picurl1,url1)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[$title1]]></Title>
<Description><![CDATA[$description1]]></Description>
<PicUrl><![CDATA[$picurl1]]></PicUrl>
<Url><![CDATA[$url1]]></Url>
</item>
</Articles>
</xml>

写一条简单的短信:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-151445-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...