用python开发微信图文消息回复系统——新闻检索系统
2014-12-29 16:44
891 查看
简介
微信公众平台的消息回复格式多样,本文主要讲解其中的图文消息回复的开发。使用的是python语言。其中微信消息回复请参考之前的文档,这里只需要修改相应的xml格式即可。
另外运用到一点简单的爬虫和正则的知识。
开发环境
sae + python文档阅读
图文消息回复格式
参考 http://mp.weixin.qq.com/wiki/9/2c15b20a16019ae613d413e30cac8ea1.html#.E5.9B.9E.E5.A4.8D.E5.9B.BE.E6.96.87.E6.B6.88.E6.81.AF<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount>2</ArticleCount> <Articles> <item> <Title><![CDATA[title1]]></Title> <Description><![CDATA[description1]]></Description> <PicUrl><![CDATA[picurl]]></PicUrl> <Url><![CDATA说明
其他细节请参考本博客之前所发的文章测试
搜索微信公众号iCasual并关注,回复新闻,然后回复相应的关键词即可测试,本文主要以“智取威虎山”、“小米”、“树莓派”作为测试用例。
大家可以输入其他关键词,尝试新闻检索系统的效果。
整理具体测试步骤如下:
打开公众号iCasual 》 回复关键词:新闻 》 回复相应的检索词,比如:小米 》 获取新闻检索结果。
附:
用python开发的网站:[url=http://www.fashici.com]发诗词" target=_blank>]></Url>
</item>
<item>
<Title><![CDATA[title]]></Title>
<Description><![CDATA[description]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
</Articles>
</xml> [/code]
说明
参数 | 是否必须 | 说明 |
---|---|---|
ToUserName | 是 | 接收方帐号(收到的OpenID) |
FromUserName | 是 | 开发者微信号 |
CreateTime | 是 | 消息创建时间 (整型) |
MsgType | 是 | news |
ArticleCount | 是 | 图文消息个数,限制为10条以内 |
Articles | 是 | 多条图文消息信息,默认第一个item为大图,注意,如果图文数超过10,则将会无响应 |
Title | 否 | 图文消息标题 |
Description | 否 | 图文消息描述 |
PicUrl | 否 | 图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200 |
Url | 否 | 点击图文消息跳转链接 |
剖析
仔细阅读xml的格式,可以发现主要提供的是文章列表,每个文章需要四个字段,标题、描述、图片链接、消息跳转链接。新闻可以通过爬虫爬取,然后通过正则表达式提取标题、图片、简介以及原文链接。
python代码封装xml
def getResponseImageTextXml(self, FromUserName, ToUserName, sourceList): """ source = [title, description, picurl, url] """ itemXml = [] for source in sourceList: # source = [title1, description1, picurl, url] singleXml = """ <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> """ % (source[0], source[1], source[2], source[3]) itemXml.append(singleXml) reply = """ <xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount>%d</ArticleCount> <Articles> %s </Articles> </xml> """ % (FromUserName, ToUserName, str(int(time.time())), len(sourceList), " ".join(itemXml)) response = make_response(reply) response.content_type = 'application/xml' return response
说明
其他细节请参考本博客之前所发的文章测试
搜索微信公众号iCasual并关注,回复新闻,然后回复相应的关键词即可测试,本文主要以“智取威虎山”、“小米”、“树莓派”作为测试用例。大家可以输入其他关键词,尝试新闻检索系统的效果。
整理具体测试步骤如下:
打开公众号iCasual 》 回复关键词:新闻 》 回复相应的检索词,比如:小米 》 获取新闻检索结果。
附:
用python开发的网站:[url=http://www.fashici.com]发诗词。
相关文章推荐
- 微信开发实战(6)—互动回复图文消息
- 微信开发中signature的验证,文本消息回复,单图文消息回复,多图文消息回复
- 夺命雷公狗---微信开发10----玩转多图文消息回复
- 【微信开发系列】1. python开发微信公众号消息回复开发者模式
- 夺命雷公狗---微信开发09----玩转单图文消息回复
- 微信开发(三):图文消息回复
- 微信开发之自动回复图文消息
- 微信开发怎么被动发送图文消息用户输入信息之后回复
- [微信开发五]--图文消息回复
- 微信公众帐号开发教程第13篇-图文消息全攻略
- 微信公众帐号开发教程第13篇-图文消息全攻略 (Java版)
- PHP微信开发模式,搜索已发送图文,匹配关键字回复
- C#开发微信门户及应用(3)--文本消息和图文消息的应答
- 微信公共服务平台开发(.Net 的实现)7-------发送图文消息
- [037] 微信公众帐号开发教程第13篇-图文消息全攻略
- 微信公众帐号开发教程第13篇-图文消息全攻略
- 微信公共服务平台开发(.Net 的实现)7-------发送图文消息
- 微信asp+sqlser开发实例——回复消息
- 【php】微信公众帐号开发接口--消息回复
- [c#]asp.net开发微信公众平台(5)微信图文消息