返回

节日祝福不再千篇一律,微信群发添加好友称呼!

前端

在节日来临之际,微信群发祝福已成为一种常见的社交方式。然而,千篇一律的祝福往往让人感到平淡无奇,缺少一份独特的关怀。为了让你的节日祝福更加贴心,本文将介绍一种方法,让你在微信群发中自动添加好友的称呼前缀,让你的祝福不再千篇一律,更加温暖人心。

一、实现原理

微信群发中自动添加好友称呼前缀的实现原理是利用微信的开放接口。通过调用微信提供的接口,我们可以获取到好友的备注名,然后在群发内容中动态插入好友的备注名作为称呼前缀。

二、开发工具

为了实现这一功能,我们需要使用到以下开发工具:

  • Python语言
  • Requests库
  • BeautifulSoup库

三、代码实现

完整的代码实现如下:

import requests
from bs4 import BeautifulSoup

def get_contacts(wxid):
    """获取微信好友列表"""
    url = 'https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact?lang=zh_CN&pass_ticket={}&r={}&seq=0&skey={}'
    headers = {
        'Referer': 'https://wx.qq.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
    }
    params = {
        'wxid': wxid,
        'pass_ticket': pass_ticket,
        'r': timestamp,
        'seq': 0,
        'skey': skey
    }
    response = requests.get(url, headers=headers, params=params)
    soup = BeautifulSoup(response.text, 'lxml')
    contacts = soup.find_all('contact')
    return contacts

def get_remark_name(contact):
    """获取好友的备注名"""
    remark_name = contact.find('remarkname').text
    return remark_name

def send_message(wxid, content):
    """发送微信消息"""
    url = 'https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsendmsg?pass_ticket={}&lang=zh_CN'
    headers = {
        'Referer': 'https://wx.qq.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
    }
    params = {
        'wxid': wxid,
        'pass_ticket': pass_ticket
    }
    data = {
        'BaseRequest': {
            'Uin': wxid,
            'Sid': skey,
            'Skey': skey,
            'DeviceID': 'e017622526507559'
        },
        'Msg': {
            'Type': 1,
            'Content': content
        },
        'Scene': 0
    }
    response = requests.post(url, headers=headers, params=params, data=data)
    return response

if __name__ == '__main__':
    # 获取微信ID、pass_ticket、skey
    wxid = input('请输入你的微信ID:')
    pass_ticket = input('请输入你的pass_ticket:')
    skey = input('请输入你的skey:')
    # 获取好友列表
    contacts = get_contacts(wxid)
    # 发送微信群发消息
    for contact in contacts:
        remark_name = get_remark_name(contact)
        content = '亲爱的{},节日快乐!'.format(remark_name)
        send_message(contact.get('username'), content)

四、使用方法

  1. 运行代码,并输入你的微信ID、pass_ticket和skey。
  2. 获取好友列表。
  3. 发送微信群发消息。

五、注意事项

  • 使用该方法需要获取你的微信ID、pass_ticket和skey,这些信息可以通过微信开发者工具获取。
  • 由于微信官方的限制,该方法可能会被封禁,请谨慎使用。