精华内容
下载资源
问答
  • 微信python

    2015-06-01 21:10:49
    weixin2py-master.zip
  • 微信python爬虫

    2017-07-23 11:27:30
    微信python爬虫,爬取图片,昵称等信息
  • 企业微信Python3加强版(基础部分)

    千人学习 2019-02-15 13:31:07
    该课程是“企业微信视频教程Python3加强版"的免费赠阅部分 购买“企业微信视频教程Python3加强版"链接https://edu.csdn.net/course/detail/18628
  • 企业微信PYTHON回调程序,PYTHON3.8+FLASK实现,发6类信息自动回复,文本,声音,图像,视频,位置、链接,2020年2月24日编制调试通过
  • 最近微信登录开放公测,为了方便微信用户使用,我们的产品也决定加上微信登录功能,然后就有了这篇笔记。根据需求选择相应的登录方式微信现在提供两种登录接入方式移动应用微信登录网站应用微信登录这里我们使用的是...

    最近微信登录开放公测,为了方便微信用户使用,我们的产品也决定加上微信登录功能,然后就有了这篇笔记。

    根据需求选择相应的登录方式

    微信现在提供两种登录接入方式

    移动应用微信登录

    网站应用微信登录

    这里我们使用的是网站应用微信登录

    1 注册并通过开放平台开发者资质认证

    注册微信开放平台帐号后,在帐号中心中填写开发者资质认证申请,并等待认证通过。

    2 创建网站应用

    通过填写网站应用名称、简介和图标,以及各平台下载地址等资料,创建网站应用

    3 接入微信登录

    在资源中心查阅网站应用开发文档,开发接入微信登陆功能,让用户可使用微信登录你的网站应用

    如果已经完成上面的操作,请继续往下看

    微信网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。

    微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为:

    第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;

    通过code参数加上AppID和AppSecret等,通过API换取access_token;

    通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

    具体流程请参考官方文档,我们这里只说一下python的实现方法。官方文档地址 点这里

    参考python-instagram 我写了一个 python-weixin (https://github.com/zongxiao/python-weixin)一个微信python SDK

    不过现在还只有微信接入、获取用户信息、 刷新refresh_token 等简单功能

    首先 需要把代码clone到本地

    然后执行

    python setup.py install

    使用方式非常简单

    1 from weixin.client import WeixinAPI

    2

    3 APP_ID = 'your app id'

    4 APP_SECRET = 'your app secret'

    5 REDIRECT_URI = 'http://your_domain.com/redirect_uri' # 这里一定要注意 地址一定要加上http/https

    6

    7 scope = ("snsapi_login", )

    8 api = WeixinAPI(appid=APP_ID,

    9 app_secret=APP_SECRET,

    10 redirect_uri=REDIRECT_URI)

    11

    12 authorize_url = api.get_authorize_url(scope=scope)

    现在将

    authorize_url 地址在浏览器打开, 将跳转到微信登录页面,使用手机扫码登录后将跳转到

    http://your_domain.com/redirect_uri?code=CODE&state=STATE 页面现在我们就可以使用code 来获取登录的 access_token

    access_token = api.exchange_code_for_access_token(code=code)

    access_token 信息为

    {

    "access_token":"ACCESS_TOKEN",

    "expires_in":7200,

    "refresh_token":"REFRESH_TOKEN",

    "openid":"OPENID",

    "scope":"SCOPE"

    }

    参数

    说明

    access_token

    接口调用凭证(有效期目前为2个小时)

    expires_in

    access_token接口调用凭证超时时间,单位(秒)

    refresh_token

    用户刷新access_token(有效期目前为30天)

    openid

    授权用户唯一标识

    scope

    用户授权的作用域,使用逗号(,)分隔

    获取access_token后,就可以进行接口调用,有以下前提:

    access_token有效且未超时;

    微信用户已授权给第三方应用帐号相应接口作用域(scope)。

    对于接口作用域(scope),能调用的接口有以下:

    授权作用域(scope)

    接口

    接口说明

    snsapi_base

    /sns/oauth2/access_token

    通过code换取access_token、refresh_token和已授权scope

    /sns/oauth2/refresh_token

    刷新或续期access_token使用

    /sns/auth

    检查access_token有效性

    snsapi_userinfo

    /sns/userinfo

    获取用户个人信息

    api = WeixinAPI(appid=APP_ID,

    app_secret=APP_SECRET,

    redirect_uri=REDIRECT_URI)

    # 刷新或续期access_token使用

    refresh_token = api.exchange_refresh_token_for_access_token(refresh_token=auth_info['refresh_token'])

    api = WeixinAPI(access_token=auth_info['access_token'])

    # 获取用户个人信息

    user = api.user(openid=auth_info['openid'])

    # 检查access_token有效性

    v = api.validate_token(openid=auth_info['openid'])

    现在就微信登录就完成了

    下面是用 flask 实现的完整的例子

    from flask import Flask

    from flask import Markup

    from flask import redirect

    from flask import request

    from flask import jsonify

    from weixin.client import WeixinAPI

    from weixin.oauth2 import OAuth2AuthExchangeError

    app = Flask(__name__)

    APP_ID = 'appid'

    APP_SECRET = 'app secret'

    REDIRECT_URI = 'http://localhost.com/authorization'

    @app.route("/authorization")

    def authorization():

    code = request.args.get('code')

    api = WeixinAPI(appid=APP_ID,

    app_secret=APP_SECRET,

    redirect_uri=REDIRECT_URI)

    auth_info = api.exchange_code_for_access_token(code=code)

    api = WeixinAPI(access_token=auth_info['access_token'])

    resp = api.user(openid=auth_info['openid'])

    return jsonify(resp)

    @app.route("/login")

    def login():

    api = WeixinAPI(appid=APP_ID,

    app_secret=APP_SECRET,

    redirect_uri=REDIRECT_URI)

    redirect_uri = api.get_authorize_login_url(scope=("snsapi_login",))

    return redirect(redirect_uri)

    @app.route("/")

    def hello():

    return Markup('weixin login!') % '/login'

    if __name__ == "__main__":

    app.run(debug=True)

    参考链接:

    展开全文
  • 目前有一个项目 WechatPCAPI 可以对微信进行操作,简单来说它是直接操作 PC 版微信客户端的,当然它有一定不足之处就是:PC 版微信客户端和 Python 都需要使用指定版本的,本文我们使用的 Python 版本为 3.7.6 ,...

    自从微信禁止网页版登陆之后,itchat 库实现的功能也就都不能用了,那现在 Python 还能操作微信吗?答案是还可以。

    目前有一个项目 WechatPCAPI 可以对微信进行操作,简单来说它是直接操作 PC 版微信客户端的,当然它有一定不足之处就是:PC 版微信客户端和 Python 都需要使用指定版本的,本文我们使用的 Python 版本为 3.7.6 ,微信客户端使用版本为 2.6.8.52 ,WechatPCAPI 的 GitHub 地址为: https://github.com/Mocha-L/WechatPCAPI 。

    获取好友列表

    WechatPCAPI 提供了方法 get_friends() ,该方法返回信息包括:好友、群和公众号的列表信息,信息内容主要包括:微信号、昵称和自己设置的备注。

    我们使用获取的昵称做个简单的词云展示,代码实现如下所示:

    logging.basicConfig(level=logging.INFO)

    def on_message(message):

    pass

    def get_friends():

    # 初始化微信实例

    wx_inst = WechatPCAPI(on_message=on_message, log=logging)

    # 启动微信

    wx_inst.start_wechat(block=True)

    # 等待登陆成功,此时需要人为扫码登录微信

    while not wx_inst.get_myself():

    time.sleep(5)

    print('登陆成功')

    nicknames = []

    # 排除的词

    remove = ['还是', '不会', '一些', '所以', '果然',

    '起来', '东西', '为什么', '真的', '这么',

    '但是', '怎么', '还是', '时候', '一个',

    '什么', '自己', '一切', '样子', '一样',

    '没有', '不是', '一种', '这个', '为了'

    ]

    for key, value in wx_inst.get_friends().items():

    if key in ['fmessage', 'floatbottle', 'filehelper'] or 'chatroom' in key:

    continue

    nicknames.append(value['wx_nickname'])

    words = []

    for text in nicknames:

    if not text:

    continue

    for t in jieba.cut(text):

    if t in remove:

    continue

    words.append(t)

    global word_cloud

    # 用逗号隔开词语

    word_cloud = ','.join(words)

    def nk_cloud():

    # 打开词云背景图

    cloud_mask = np.array(Image.open('bg.png'))

    # 定义词云的一些属性

    wc = WordCloud(

    # 背景图分割颜色为白色

    background_color='white',

    # 背景图样

    mask=cloud_mask,

    # 显示最大词数

    max_words=300,

    # 显示中文

    font_path='./fonts/simkai.ttf',

    # 最大尺寸

    max_font_size=70

    )

    global word_cloud

    # 词云函数

    x = wc.generate(word_cloud)

    # 生成词云图片

    image = x.to_image()

    # 展示词云图片

    image.show()

    # 保存词云图片

    wc.to_file('nk.png')

    看一下效果:

    消息防撤回

    我们在使用微信和好友聊天时,对方有时会有撤回消息的情况,正常情况下,我们是不知道好友撤回的消息是什么的,通过 WechatPCAPI 就可以实现消息防撤回的功能。

    我们知道通常撤回的消息是点击撤回操作前一步发送的内容,当然也可能撤回的是前两步、三步 ... 的消息,这里我们只对撤回前一步的消息做处理,基本思路是:我们将撤回前一步发送的消息存一下,当对方点击撤回操作时,我们再将前一步的消息再次返回给自己。

    下面看一下实现代码:

    logging.basicConfig(level=logging.INFO)

    queue_recved_event = Queue()

    def on_message(msg):

    queue_recved_event.put(msg)

    def login():

    pre_msg = ''

    # 初始化微信实例

    wx_inst = WechatPCAPI(on_message=on_message, log=logging)

    # 启动微信

    wx_inst.start_wechat(block=True)

    # 等待登陆成功,此时需要人为扫码登录微信

    while not wx_inst.get_myself():

    time.sleep(5)

    print('登陆成功')

    while True:

    msg = queue_recved_event.get()

    data = msg.get('data')

    sendinfo = data.get('sendinfo')

    data_type = str(data.get('data_type'))

    msgcontent = str(data.get('msgcontent'))

    is_recv = data.get('is_recv')

    print(msg)

    if data_type == '1' and 'revokemsg' not in msgcontent:

    pre_msg = msgcontent

    if sendinfo is not None and 'revokemsg' in msgcontent:

    user = str(sendinfo.get('wx_id_search'))

    recall = '撤回的消息:' + pre_msg

    wx_inst.send_text(to_user=user, msg=recall)

    看一下操作效果:

    展开全文
  • 微信Python自动回复代码

    千次阅读 2018-06-04 01:27:01
    首先 ,这个代码基于itchat这个库 ,如果需要安装 ,只需要pip3 install .../usr/bin/env python3 """ 【程序功能说明】 1.程序主要利用itchat库实现了微信聊天自动回复功能,添加了weather、package...

    首先 ,这个代码基于itchat这个库 ,如果需要安装 ,只需要pip3 install itchat 就能安装成功

    如何我们直接在这个库的基础上,在进行2次开发 这里 直接 上代码,有需要代码的可以q我

    运行结果



    放到服务器上就能一直跑了



    #!/usr/bin/env python3
    """
    【程序功能说明】
    1.程序主要利用itchat库实现了微信聊天自动回复功能,添加了weather、package、airlineTicket、trainTicket这几个.py文件
    将查天气、快递、机票、火车票的功能集成到了微信中,做到了发送关键词如:快递/火车/飞机/天气,自动回复相应内容并返回查询结果的功能!
    
    2.支持的微信消息类型:TEXT文本, PICTURE图片, MAP地点, CARD名片, NOTE通知, SHARING分享, RECORDING语音, ATTACHMENT附件, VIDEO视频
    其中查天气、快递、机票、火车票是在TEXT类型的消息中定义的;
    MAP即地图类型的消息,自动回复地点名称,经纬度信息;
    CARD即名片类型,无特别处理,直接返回msg['content'];
    SHARING即分享类型,自动回复分享的链接;
    NOTE即通知类型,如果是红包,则回复“谢谢红包打赏
    展开全文
  • wechathook借助微信hook,拦截修改某些call,填充进我们的Python代码,进行微信公众号文章的爬取注入器注入dll进程序中DLL实现hook功能,申请内存,修改call,在里面写调用python逻辑Python代码为了方便调用和后续的...

    wechathook

    借助微信hook,拦截修改某些call,填充进我们的Python代码,进行微信公众号文章的爬取

    注入器

    注入dll进程序中

    DLL

    实现hook功能,申请内存,修改call,在里面写调用python逻辑

    Python代码

    为了方便调用和后续的修改,将需要暴漏的数据发送到python代码中,在c++中像调用模块一样调用python代码

    暴漏的数据是xml格式:

    51000000151212124210000031000000000001

    成品运行

    1.安装相应版本微信

    因为每个版本call偏移不同,安装成品目录下的微信 2.6.8.52版本

    2.注入DLL

    打开登陆微信后,点击wechat_tool.exe会把dll注入微信中

    3.具体业务逻辑

    具体业务逻辑修改demo.py 因为需要在c++中调用python,需要将demo.py修改好后放入微信的程序的根目录,或者python的Lib\site-packages目录下作为第三方模块才能被找到

    4.作者微信

    展开全文
  • 在这个阶段,在微信朋友圈里举行的投票活动是无止境的,我相信很多学生都为此感到困扰,因为总会有个人(亲戚,朋友或其他)不时要求你帮助TA投票。本文不打算从道德或情感层面探讨这个问题。我感兴趣的是,目前大多数...
  • 需求:微信打开商品列表页面-> 点击商品后直接显示付款页面-> 点击付款调用微信支付说明微信支付需要你申请了公众号(appid, key - 用于签名), 商户号(mch_id, AppSecret - 用于获取openid, 获取code)调起微信...
  • 发送Django error log 到企业微信,python+微信实现即时告警Django的logging系统十分好用,使用file,mail_admins之类的handlers可以快捷地...发送Django error log 到企业微信python微信实现即时告警 注册企业微信1
  • 前阵子部署zabbix监控系统,做了个微信报警,下面分享下微信调API发消息的脚本。...关注微信企业号脚本用Python3写的,内容如下:#!/usr/local/python3.5/bin/python3.5import jsonimport sysimport osimport tim...
  • python爬虫模拟微信刷票,微信投票刷票python: 本文讲的是python刷投票的脚本实现代码_python, 原理就是用代理IP去访问投票地址。用到了多线程,速度飞快。 昨晚两个小时就刷了1000多票了,主要是代理IP不好找。 ...
  • 前阵子部署zabbix监控系统,做了个微信报警,下面分享下微信调API发消息的脚本。...关注微信企业号脚本用Python3写的,内容如下:#!/usr/local/python3.5/bin/python3.5import jsonimport sysimport osimport tim...
  • Python创建微信机器人

    万次阅读 多人点赞 2019-04-20 09:30:44
    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话: 因为是微信机器人系列的第一篇...
  • 微信接口调用代码:#coding=utf8import itchatfrom flask import Flask, requestitchat.auto_login(enableCmdQR=2) //微信登录二维码list = itchat.search_chatrooms(name=u'服务监控') //微信群名toUserName...
  • 前阵子部署zabbix监控系统,做了个微信报警,下面分享下微信调API发消息的脚本。要用微信发消息,自己首先要有微信企业号,如果没有申请也容易 准备工作:1.申请微信企业号2.在企业号后台创建应用3.关注微信企业号 ...
  • python实现微信每日一句自动发送给喜欢的人本文实例为大家分享了python实现微信每日一句自动发送的具体代码,供大家参考,具体内容如下参考了一篇博客:教你使用python实现微信每天给女朋友说晚安代码:# -*- coding...
  • 最好使用python2.7,python3的pyhook包有bug,解决比较麻烦步骤1.windows上安装python2.7,配置好环境变量和pip2.到这个网站下载对应版本的pyHook和pywin322.打开cmd,安装下载好的whl文件和其他库3.桌面新建jump.py...
  • python做的微信公众号服务demo,对初学者有一定的帮助。主要功能为解析用户发过来的信息,返回对应的消息。即被动回答,只实现了响应文本消息,返回文本消息。
  • 微信支付的3种方式:Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站、实体店单品或订单、媒体广告支付等场景。APP支付是指商户通过在移动端应用...
  • 背景企业微信会话内容存档,是一项面对金融行业的开放的监管功能,其他行业可以找企业微信官方服务商[1]向腾讯申请审批开通。会话存档的推出是企业微信为了...java 的sdk去调用接口,但是很多企业会用python,golan...
  • 微信支付python版2.0_Native支付 微信企业号星级会员。10多年...
  • 微信支付python版2.0_JSAPI支付 微信企业号星级会员。10多年软...
  • python微信-微信群发#!/usr/bin/env python# -*- coding:utf-8 -*-import jsonimport requestsfrom wxpy import *# bot = bot(cache_path=true)bot = bot()# 调用图灵机器人api,发送消息并获得机器人的回复def ...
  • 微信支付python版2.0_企业付款 微信企业号星级会员。10多年软件从业...
  • 微信支付python版2.0_现金红包 微信企业号星级会员。10多年软件从业...
  • 企业微信支付python3_向员工付款 微信企业号星级会员。10多年软件从业...
  • 企业微信支付python3版_企业红包 微信企业号星级会员。10多年软件从业...
  • python 模拟微信投票在这惊人的事实面前,在林易的质问之下,在场之人,没人敢说一句话!越是向着苦海深处,林易心中那丝疑惑,便是越加多了起来。python 模拟微信投票意外之中,他发现真君府之中,居然还存在着升魂...

空空如也

空空如也

1 2 3 4 5 ... 20