欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

輕松實(shí)現(xiàn)python搭建微信公眾平臺

 更新時間:2016年02月16日 11:23:36   投稿:lijiao  
這篇文章主要介紹了python搭建微信公眾平臺的相關(guān)資料和技巧,文中給出了詳細(xì)的python搭建微信公眾平臺的步驟,感興趣的朋友可以參考一下

本文主要是一步一步教大家如何利用python搭建微信公眾平臺,有興趣的朋友可以參考一下

使用的工具,python 新浪SAE平臺,微信的公眾平臺

你需要先在微信的公眾平臺與新浪SAE平臺上各種注冊,微信平臺注冊的時候需要你拍張手持身份證的照片,還有幾天的審核期

微信公眾平臺:http://mp.weixin.qq.com

新浪SAE:http://sae.sina.com.cn/

等待微信公眾審核通過后,登錄公眾平臺后,點(diǎn)擊高級功能。將會看到需要提供一個接入信息:

微信接口配置

那么我們需要一個網(wǎng)址作為接口(這時就需要SAE上搭建Python的一個應(yīng)用),Token呢,就是相當(dāng)于我們和微信之間約定的“密碼”,這里可以隨便填寫英文或者數(shù)字,但實(shí)測輸入純數(shù)字有時會有問題,所以還是字符串比較靠譜。

第一步,在SAE上搭建python的應(yīng)用,在下圖的應(yīng)用里選擇python應(yīng)用。

 填好二級域名和應(yīng)用名稱等,選擇好語言。這里我們使用Python開發(fā)選擇web應(yīng)用。創(chuàng)建好應(yīng)用之后,在代碼管理中創(chuàng)建一個新的版本。而后我們可以選擇編輯代碼。能夠?qū)崿F(xiàn)在線編輯,根本用不著配置本地環(huán)境,SVN等等。當(dāng)然像這種輕量級的應(yīng)用在線編輯器就可以了,SVN的話還不如在線編輯好用

第二步,編寫index.wsgi

因為我們使用的是web.py框架,因為其良好的xml解析。

首先編寫config.yaml

name: yangyanxing
version: 1
 
libraries:
- name: webpy 
 version: "0.36"
 
- name: lxml
 version: "2.3.4"
 
...

注意嚴(yán)格的縮進(jìn),差一個空格你就廢了!而且調(diào)試的時候很不好發(fā)現(xiàn)問題。。。

接著我們繼續(xù)編寫index.wsgi

# coding: UTF-8
import os
 
import sae
import web
 
from weixinInterface import WeixinInterface
 
urls = (
'/weixin','WeixinInterface'
)
 
app_root = os.path.dirname(__file__)
templates_root = os.path.join(app_root, 'templates')
render = web.template.render(templates_root)
 
app = web.application(urls, globals()).wsgifunc()  
application = sae.create_wsgi_app(app)

簡單解釋一下,

from weixinInterface import WeixinInterface
這里我們需要再創(chuàng)建一個weixinInterface的py文件,你也可以將這個類寫在index.wsgi文件中,只是這樣看起來會亂亂的

新建一個weixinInterface.py文件,注意大小寫,寫入以下代碼

# -*- coding: utf-8 -*-
import hashlib
import web
import lxml
import time
import os
import urllib2,json
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):
  #獲取輸入?yún)?shù)
  data = web.input()
  signature=data.signature
  timestamp=data.timestamp
  nonce=data.nonce
  echostr=data.echostr
  #自己的token
  token="yangyanxing" #這里改寫你在微信公眾平臺里輸入的token
  #字典序排序
  list=[token,timestamp,nonce]
  list.sort()
  sha1=hashlib.sha1()
  map(sha1.update,list)
  hashcode=sha1.hexdigest()
  #sha1加密算法  
 
  #如果是來自微信的請求,則回復(fù)echostr
  if hashcode == signature:
   return echostr

這里定義了一個GET方法,是根據(jù)微信公眾平臺的要求,進(jìn)行的token驗證,因為這里我們定義了templates_root為根目錄下的templates,所以還要在根目錄下創(chuàng)建一個目錄templates的目錄

因為微信是將驗證信息GET發(fā)出去的,所以這里使用了GET方法來取得值并且返回相應(yīng)用值

保存全部,現(xiàn)在回到微信的公眾平臺高級管理界面

微信接口配置

在url里面填寫你在新浪SAE里應(yīng)用名稱并且加上/weixin,如:http://XXXX.sinaapp.com/weixin token隨便輸入,只要注意更改weixinInterface.py中的token就行了,輸入好了以后點(diǎn)擊提交,如果沒有什么問題的話就會通過驗證!

 

第三步,新建一個簡單的自動回復(fù)的方法,鸚鵡學(xué)舌,就是用戶說什么,它也回復(fù)什么,沒什么用,只是隨便玩玩!

在weixinInterface.py里繼續(xù)添加代碼

def POST(self):  
  str_xml = web.data() #獲得post來的數(shù)據(jù)
  xml = etree.fromstring(str_xml)#進(jìn)行XML解析
  content=xml.find("Content").text#獲得用戶所輸入的內(nèi)容
  msgType=xml.find("MsgType").text
  fromUser=xml.find("FromUserName").text
  toUser=xml.find("ToUserName").text
  return self.render.reply_text(fromUser,toUser,int(time.time()),u"我現(xiàn)在還在開發(fā)中,還沒有什么功能,您剛才說的是:"+content)

 這個def 是和上一個GET同級的,注意縮進(jìn)

接著我們在templates目錄下創(chuàng)建reply_text.xml模板文件,寫入以下代碼

$def with (toUser,fromUser,createTime,content)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>$createTime</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$content]]></Content>
</xml>
 

注意這里的toUser與fromUser是剛才post的是相反的,因為這里的toUser也就是POST函數(shù)里的fromUser,這里的fromUser也就是POST函數(shù)里的toUser,msgType是text

全部保存,現(xiàn)在就在用你的個人微信關(guān)注一下你創(chuàng)建的公眾微信號,然后隨便輸入些內(nèi)容,如果沒有什么問題,你將會收到一條鸚鵡學(xué)舌的回復(fù)內(nèi)容!

以上就是python搭建微信公眾平臺的全部內(nèi)容,大家可以根據(jù)以上步驟進(jìn)行搭建。

相關(guān)文章

  • Python實(shí)現(xiàn)識別文字中的省市區(qū)并繪圖

    Python實(shí)現(xiàn)識別文字中的省市區(qū)并繪圖

    在做NLP(自然語言處理)相關(guān)任務(wù)時,經(jīng)常會遇到需要識別并提取省、城市、行政區(qū)的需求。今天給大家介紹一個模塊,你只需要把字符串傳遞給這個模塊,他就能給你返回這個字符串內(nèi)的省、市、區(qū)關(guān)鍵詞,快來學(xué)習(xí)一下吧
    2022-06-06
  • matplotlib基礎(chǔ)繪圖命令之bar的使用方法

    matplotlib基礎(chǔ)繪圖命令之bar的使用方法

    這篇文章主要介紹了matplotlib基礎(chǔ)繪圖命令之bar的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python通過http上傳文件思路詳解

    python通過http上傳文件思路詳解

    這篇文章主要介紹了python通過http上傳文件,在post請求中,用files參數(shù)來接受文件對象相關(guān)的參數(shù),通過data/json參數(shù)接受post請求體的其他參數(shù)
    2021-07-07
  • Python的包管理器pip更換軟件源的方法詳解

    Python的包管理器pip更換軟件源的方法詳解

    和其他的包管理工具一樣,pip在國內(nèi)使用也會經(jīng)常遇到傳輸困難的問題,那么接下來就介紹一下Python的包管理器pip更換軟件源的方法詳解:
    2016-06-06
  • 用python將pdf轉(zhuǎn)化為有聲讀物

    用python將pdf轉(zhuǎn)化為有聲讀物

    大家好,本篇文章主要講的用python將pdf轉(zhuǎn)化為有聲讀物,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python?模擬死鎖的常見實(shí)例詳解

    Python?模擬死鎖的常見實(shí)例詳解

    這篇文章主要為大家介紹了Python?模擬死鎖的常見實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • python 中split 和 strip的實(shí)例詳解

    python 中split 和 strip的實(shí)例詳解

    這篇文章主要介紹了 python 中split 和 strip的實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Python 一篇文章看懂時間日期對象

    Python 一篇文章看懂時間日期對象

    學(xué)習(xí)每一門語言多多少少會用到與時間相關(guān)的東西,咱們今天呢就談一談Python中的時間與日期對象。在Python中時間對象一般可以用來測量效率。日期對象用來處理日期與字符串之間的關(guān)系
    2022-03-03
  • selenium+python 去除啟動的黑色cmd窗口方法

    selenium+python 去除啟動的黑色cmd窗口方法

    今天小編就為大家分享一篇selenium+python 去除啟動的黑色cmd窗口方法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python序列化模塊之pickle與json詳解

    Python序列化模塊之pickle與json詳解

    這篇文章主要為大家介紹了Python中常用的兩個序列化模塊:pickle序列化和json序列化。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-05-05

最新評論