精华内容
下载资源
问答
  • 主要介绍了基于python 微信小程序之获取已存在模板消息列表的相关知识,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 使用python编写微信小程序后端,小程序域名需要https和备案,所以采用django+ngnix+uwsgi搭建环境。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该...


    前言

    环境:ubuntu18,python3
    使用python编写微信小程序后端,小程序域名需要https和备案,所以采用django+ngnix+uwsgi搭建环境。


    一、uwsgi

    pip3 install uwsgi

    # Django相关的配置
    # 必须全部为绝对路径
    # 项目的路径
    chdir=/home/ubuntu/wx_test
    # Django的wsgi文件
    module=wx_test.wsgi
    # Python虚拟环境的路径
    #home=/root/.virtualenvs/django-env-py36
    # 进程相关的设置
    # 主进程
    master=true
    # 最大数量的工作进程
    processes=10
    # socket文件路径,绝对路径
    socket=/home/ubuntu/wx_test/wx_test.sock
    # 设置socket的权限
    chmod-socket=666
    # 退出的时候是否清理环境
    vacuum=true
    
    

    uwsgi --ini wx_test.ini

    二、Nginx

    sudo apt-get install nginx
    cd /etc/nginx
    修改nginx用户vi nginx.conf将第一行修改为user root;
    cd conf.d
    sudo touch wx_test.conf
    sudo vi wx_test.conf

    server {
        #SSL 访问端口号为 443
        listen 443 ssl;
     #填写绑定证书的域名
        server_name xmueye.com;
     #证书文件名称
        ssl_certificate /etc/nginx/conf.d/1_xmueye.com_bundle.crt;
     #私钥文件名称
        ssl_certificate_key /etc/nginx/conf.d/2_xmueye.com.key;
        ssl_session_timeout 5m;
     #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
    
        charset UTF-8;
    
        client_max_body_size 75M;
    
        location ~ ^/diagnosis {
        #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
            uwsgi_pass unix:///home/ubuntu/wx_test/wx_test.sock;
            include /etc/nginx/uwsgi_params;
        }
    }
    
    

    重启nginx服务器
    sudo service nginx restart

    总结

    参考以下文章
    https://blog.csdn.net/qq_43467898/article/details/83187698
    https://cloud.tencent.com/document/product/400/35244
    https://www.runoob.com/django/django-nginx-uwsgi.html
    https://www.jb51.net/article/160820.htm

    展开全文
  • appium+python 微信小程序的自动化

    千次阅读 2019-01-08 15:13:58
    最近微信小程序越来越多了,随之带来的问题是:小程序如何做自动化测试? 今天写一篇小程序该如何做自动化测试,如何定位,具体以膜拜为例子 webview进程 1.小程序微信公众号还不太一样,基本思路差不多,先...

    前言

    最近微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试?
    今天写一篇小程序该如何做自动化测试,如何定位,具体以膜拜为例子

    webview进程

    1.小程序和微信公众号还不太一样,基本思路差不多,先配置:chromeOptions

    'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'}

    2.androidProcess进程可以通过adb shell去查看,先点开摩拜小程序,然后进adb shell

      进入shell后输入:dumpsys activity top | grep ACTIVITY

    C:\Users\admin>adb shell
    HWBND-H:/ $ dumpsys activity top | grep ACTIVITY
      ACTIVITY com.tencent.mm/.plugin.appbrand.ui.AppBrandUI d0f2ff4 pid=7332

    此时可以看到pid

    然后输入:ps 7332

    HWBND-H:/ $ ps 7332
    USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
    u0_a119   7332  495   2706272 283720          0 0000000000 S com.tencent.mm:appbrand0
    HWBND-H:/ $

    3.com.tencent.mm:appbrand0 这个就是我们要找的东西

     

    正式开始:

    1. 下拉为微信聊天页面,出现摩拜小程序(显示最近使用的哦,你的可能是别的小程序)

    怎样实现下拉滑动呢?使用driver的swipe方法,我这里用的是我封装好的滑动方法

    #向下滑动
    def swipe_down(driver,t=500,n=1):
        s = driver.get_window_size()
        x1 = s['width'] * 0.5  # x坐标
        y1 = s['height'] * 0.25 # 起点y坐标
        y2 = s['height'] * 0.75 # 终点y坐标
        for i in range(n):
            driver.swipe(x1,y1,x1,y2,t)

     2. 点击摩拜小程序图标

    # 点击膜拜单车
    driver.find_element_by_id('com.tencent.mm:id/ij').click()
    time.sleep(4)
    print(driver.contexts)

    3.点击右下角的小头像

       由于这个页面是view.view属性所以不好用常用定位方法定位,只好用坐标来定位了!

    # tap触摸右下角那个人头坐标
    driver.tap([(972, 1613), (1034, 1622)], 1000)  #tap的点必须是tuple类型,一个点是一个tuple
    time.sleep(5)
    print('进入我的页面')

    4.点击钱包,这里也是利用坐标定位

    # 点击我的钱包
    driver.tap([(267, 907)], 500)
    time.sleep(4)
    print('进入钱包')

    5.点击余额,这里利用xpath定位

    # 点击余额
    driver.find_element_by_xpath('//*[@text="余额"]').click()
    time.sleep(4)
    

     6.点击充值,利用xpath定位

    # 点击充值
    driver.find_element_by_xpath('//*[@text="充值"]').click()
    time.sleep(2)

     

    我就不充值了,因为太穷,这里基本就是一个进入小程序完成充值过程的一个自动化操作了,下面是完整的代码: 

    #coding:utf-8
    from appium import webdriver
    import time,os
    from common.My_swipe import swipe_down
    
    
    desired_caps = {
                    'platformName': 'Android',
                    'platformVersion': '8.0',
                    'deviceName': '740dc3d1',
                    'appPackage': 'com.tencent.mm',
                    'appActivity': '.ui.LauncherUI',
                    'automationName': 'Uiautomator2',
                    # 'unicodeKeyboard': True,
                    # 'resetKeyboard': True,
                    'noReset': True,
                    'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'}
                    }
    driver = webdriver.Remote(r'http://127.0.0.1:4723/wd/hub', desired_caps)
    time.sleep(3)
    # 向下滑动
    swipe_down(driver)
    time.sleep(2)
    
    # 点击膜拜单车
    driver.find_element_by_id('com.tencent.mm:id/ij').click()
    time.sleep(4)
    print(driver.contexts)
    
    # tap触摸右下角那个人头坐标
    driver.tap([(972, 1613), (1034, 1622)], 1000)  #tap的点必须是tuple类型,一个点是一个tuple
    time.sleep(5)
    print('进入我的页面')
    # 点击我的钱包
    driver.tap([(267, 907)], 500)
    time.sleep(4)
    print('进入钱包')
    # 点击余额
    driver.find_element_by_xpath('//*[@text="余额"]').click()
    time.sleep(4)
    
    # 点击充值
    driver.find_element_by_xpath('//*[@text="充值"]').click()
    time.sleep(2)
    #接下来就是摩拜的充值页面了,由于我太穷充不起,所以就介绍到这里
    

     

    总结:其实这里只是介绍一个小程序自动化的大概思路吧,有疑问的可以加我qq 970185127   ,未完待续.....

     

     

    展开全文
  • import requests from PIL import Image import json from io import BytesIO URL = '... def get_access_token(auth_params): ... 获取微信access_token """ url = 'https://api.weixin.qq.com/cgi-.
    import requests
    from PIL import Image
    import json
    from io import BytesIO
    
    
    URL = 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode'
    
    
    def get_access_token(auth_params):
        """
        获取微信access_token
        """
        url = 'https://api.weixin.qq.com/cgi-bin/token'
        content = requests.get(url, params=auth_params).content.decode('utf8')
        return content
    
    def generate_rq_code():
        """
        获取小程序码, 调用该接口需要appid, apsecret
        :param access_token:
        :param page: 小程序页面
        :param data: 参数
        :param width: 尺寸, 280 - 1280
        :return: 图片文件file
        """
        # 获取token
        auth_params = {
            'grant_type': 'client_credential',
            'appid': '',  #appid 必传
            'secret': '', #必传
            'scene': '',  #必传
        }
        access_token_info = get_access_token(auth_params)
        if not access_token_info:
            return '没有token'
        resp = json.loads(access_token_info)
        access_token = resp.get('access_token')
        url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={}'.format(access_token)
        body = {
            "page": '',  #页面路径
            "width": '430',
            "scene": '',   #必传
        }
        body = json.dumps(body)
        respone = requests.post(url, data=body)
        content = respone.content
        if not content:
            return '没有二进制流'
    
        img = Image.open(BytesIO(content))
        img.show()
    
    
    if __name__ == '__main__':
        generate_rq_code()
    
    

     

    展开全文
  • 微信小程序获取到的二维码图片,是一个很长的字符串,不好保存到...微信小程序获取二维码,python写法: #获取token getUrl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&ap...

    微信小程序获取到的二维码图片,是一个很长的字符串,不好保存到数据库,前端页面也不好读取。

    解决方案:

    把图片串保存到本地,然后再去读取本地图片,具体写法如下:

    微信小程序获取二维码,python写法:

    #获取token
    getUrl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + XCX_APP_ID + '&secret=' + XCX_APP_SECRET
    getReq = urllib2.Request(getUrl)
    getRes = urllib2.urlopen(getReq)
    getResObj = json.loads(getRes.read())
    access_token = getResObj["access_token"]
    if not access_token:
        return False
    
    #scene 是发给小程序接收的参数    
    textmod = {"scene": scene, "page": XCX_MAIN_PAGE, "width": 900, "auto_color": True, "is_hyaline": False}
    textmod = json.dumps(textmod).encode(encoding='utf-8')
    header_dict = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko',
                   "Content-Type": "application/json"}
    
    #获取小程序二维码
    url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + access_token
    req = urllib2.Request(url=url, data=textmod, headers=header_dict)
    res = urllib2.urlopen(req)
    res = res.read()
    
    #保存小程序二维码到指定路径
    b64str = base64.b64encode(res)
    imgFileName = taskId +"_QRcode.png"
    pathImg = IMG_UPLOAD_PATH + imgFileName
    with open(pathImg, 'wb') as f:
        f.write(base64.b64decode(b64str))
    return pathImg 

    通过 https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='  获取到的二维码参数是一段很长的字符串,如下图

    可以通过

    with open(PATH + 'XX.png','wb') as f:
            f.write(base64.b64decode(b64str))

    方法把图片写入指定的路径,就可以打开了

    展开全文
  • 前言: 为了获取一定高级操作,如:微信模板消息(xiao,xin)推送,把消息推送给用户,或者是获取用户授权信息都...获取小程序对应的access token Python资源共享群:484031800 def get_wx_token(): url = "https...
  • 本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能,必须在自己的微信中添加微信号xiaoice-ms(微软的微信机器人)才能实现,直接复制代码运行之后扫一扫二维码即可,经过测试,该程序能够保持...
  • # 小程序ID SECRET = "" MCHID = "" # 商户号 KEY = "" NOTIFY_URL = "" # 统一下单后微信回调地址,api demo见notify_view_demo.py # 证书路径 '...
  • 导读在知乎上,有人提问“如何使用 Python 开发微信小程序”。其实微信小程序作为一个前端的机制,Python 并不能插上边。只不过可以作为后端接口为微信小程序提供数据服务而已。那么在本篇,我们就将结合微信小程序...
  • 哪个Python库可以操作登录微信公众号后,可以自动操作公众号里的内容。selenium库如何使用python语言开展微信端网页自动化测试我之前是做自动化工,学了perl,python,发现perl语法比较难,python比较简单,性也很好...
  • 本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能,必须在自己的微信中添加微信号xiaoice-ms(微软的微信机器人)才能实现,直接复制代码运行之后扫一扫二维码即可,经过测试,该程序能够保持...
  • 1 #-*- coding:utf-8 -*-2 importrequests3 importhashlib4 importxmltodict5 importtime6 importrandom7 importstring8 importurllib29 importsys101112 classWX_PayToolUtil():13 "...微信支付工具&qu...
  • 第1章 《Python Flask构建微信小程序订餐系统》课程简介本章内容会带领大家通览整体架构,功能模块,及学习建议。让大家在一个清晰的开发思路下,进行后续的学习。同时领着大家登陆https://food.54php.cn(使用微信扫...
  • 这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案。微信小程序登录时序图如下:这个流程分为两大部分:小程序使用 wx.login() API 获取 code,调用 wx.getUserInfo() API 获取 ...
  • 本套课程出自老男孩IT教程的Python+微信小程序开发实战官网售价79元,课程基于微信小程序平台开发的的拍卖系统。课程分为4个章节微信小程序快速入门用微信小程序快速开发认证和发布动态模块,第二章拍卖平台动态管理...
  • 本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能,必须在自己的微信中添加微信号xiaoice-ms(微软的微信机器人)才能实现,直接复制代码运行之后扫一扫二维码即可,经过测试,该程序能够保持...
  • ——/2020-Python 微信小程序开发实战/ ├──微信小程序课件 | └──微信小程序课件.rar 28.04M ├──001 day1-01 小程序介绍.mp4 15.34M ├──002 day1-02 小程序环境搭建.mp4 88.74M ├──003 day1-03 全局...
  • 如何使用 Python 开发微信小程序

    万次阅读 多人点赞 2019-04-17 08:39:00
    在知乎上,有人提问“如何使用Python开发微信小程序”。其实微信小程序作为一个前端的机制,Python并不能插上边。只不过可以作为后端接口为微信小程序提供数据服务...
  • 主要介绍了python实现微信小程序自动回复,使用itchat模块进行微信私聊消息以及群消息自动回复,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了Python实现微信小程序支付功能 ,本文通过实例代码,流程图给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 项目利用基于Python开发的Django框架作为服务器,开发一款微信小程序版本的短视频应用。
  • 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序...
  • 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序...
  • 哪个Python库可以操作登录微信公众号后,可以自动操作公众号里的内容。selenium库如何使用python语言开展微信端网页自动化测试我之前是做自动化工,学了perl,python,发现perl语法比较难,python比较简单,性也很好...
  • Python爬取微信小程序(Charles)

    万次阅读 多人点赞 2019-05-09 18:41:22
    最近需要获取微信小程序上的数据进行分析处理,第一时间想到的方式就是采用python爬虫爬取数据,尝试后发现诸多问题,比如无法获取目标网址、解析网址中存在指定参数的不确定性、加密问题等等,经过一番尝试,终于...
  • 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序...
  • 当你用微信和对方聊天时,对方突然撤回了几条消息,你会好奇吗?你会很想知道对方撤回了什么吗? Python实现的微信防撤回小程序,让你轻松获取对方撤回的消息内容

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,626
精华内容 1,050
关键字:

python微信小程序

python 订阅
微信小程序 订阅