Python 实战:批量生成带来源参数的 WhatsApp 短链 + 二维码

做跨境、跑独立站或运营多个社媒矩阵时,一个常见需求是:给每个投放渠道(Facebook / Instagram / 邮件 / 官网)生成一条独立的 WhatsApp 联系入口,并且能区分客户到底从哪个渠道来

本文用一个完整可跑的 Python 脚本,演示如何批量生成"带来源参数的 WhatsApp 链接"并导出成二维码图片,全部基于官方 wa.me 深度链接,不依赖任何第三方账号。

一、原理:wa.me 深度链接 + 来源参数

WhatsApp 官方深度链接格式:

复制代码
https://wa.me/<手机号(带国家码,无+和空格)>?text=<预填消息>

要在链接里携带渠道来源,有两种思路:

  1. 把来源写进 text :客户发来的第一条消息自带 [来自FB广告],你一眼能分辨。
  2. 用独立短链 / 二维码 + 点击统计:每个渠道一张图、一条链接,后台看点击和对话数。

下面脚本实现第一种(自包含、零依赖账号),并在文末说明如何升级成第二种。

二、完整代码

python 复制代码
# pip install qrcode[pil]
import urllib.parse
import qrcode
from pathlib import Path

WA_NUMBER = "8613800000000"  # 你的 WhatsApp 号码,带国家码,不要 + 和空格
OUTPUT_DIR = Path("wa_qrcodes")
OUTPUT_DIR.mkdir(exist_ok=True)

# 渠道配置:名字 -> 预填话术前缀
CHANNELS = {
    "facebook":  "我想咨询,来自FB广告",
    "instagram": "我想咨询,来自IG主页",
    "email":     "我想咨询,来自邮件",
    "website":   "我想咨询,来自官网",
}

def build_wa_link(channel: str, preset: str) -> str:
    text = urllib.parse.quote(preset)
    return f"https://wa.me/{WA_NUMBER}?text={text}"

def make_qr(link: str, name: str):
    img = qrcode.make(link)
    path = OUTPUT_DIR / f"wa_{name}.png"
    img.save(path)
    return path

if __name__ == "__main__":
    for name, preset in CHANNELS.items():
        link = build_wa_link(name, preset)
        path = make_qr(link, name)
        print(f"[{name}] {link}\n  -> QR: {path}\n")

运行后,wa_qrcodes/ 目录下会生成 wa_facebook.pngwa_instagram.png 等四张二维码,分别投放到对应渠道即可。客户扫码后,会话里自动带上"来自XX"前缀,你可以直接在 WhatsApp 里按来源归类客户。

三、进阶:把来源做成可统计的短链

上面的方案靠 text 前缀区分来源,但拿不到"每个渠道点了多少次"。要做到点击统计 + 后台看板,有两种路:

  • 自搭 :用 Nginx / Cloudflare Worker 做一层 302 跳转,记录来访 referer 和渠道参数,再跳到 wa.me;数据落库即可出报表。
  • 用现成服务:不少 SaaS 支持"按渠道生成品牌短链 + 二维码 + 点击分析",例如 WALink(免费)就能一站式生成带统计的 WhatsApp 短链和二维码,省去自己维护跳转服务的成本。按团队需要选,小体量用脚本够用,矩阵化运营再上服务。

四、注意事项

  1. wa.me 号码必须是带国家码、去掉 + 和空格 的数字,例如中国号 13800000000 写成 8613800000000
  2. text 必须 URL 编码(脚本里已用 urllib.parse.quote 处理中文)。
  3. 不要把二维码堆在违规场景(如平台私信硬广),否则可能被限流。
  4. 预填话术别太长,移动端体验更好。

小结

用十来行 Python,就能给每个渠道生成独立、可溯源的 WhatsApp 入口;想要点击数据再叠加一层短链统计即可。核心就一句:让每个渠道的入口可区分,投放才有据可依。

相关推荐
TheBestRucy1 小时前
Python 九阳神功之肆:网络编程 · Socket 从入门到实战
开发语言·网络·python
qq_349447951 小时前
在ollama下部署DeepSeek-r1模型(linux机器)
linux·运维·服务器
hehelm1 小时前
仿muduo库实现高并发服务器—Channel类
linux·服务器·开发语言·网络·c++
末代iOS程序员华仔1 小时前
Cursor 编辑器 + Figma‑MCP 服务器(真正让 Codex 直接读取 Figma 链接,高级方案)
服务器·编辑器·figma
stereohomology1 小时前
AI解读:某IM软件本地数据库密钥提取与解密
数据库·攻防·加密解密·数字平权
Java后端的Ai之路1 小时前
01、Python - 设计模式介绍
java·人工智能·python·设计模式·通用
zzzll11111 小时前
大模型技术原理与应用实践
java·数据库·人工智能
倔强的石头_1 小时前
数据库迁移工具从单机作业走向云端协同
数据库
猫吃了源码1 小时前
Linux系统制作 Ubuntu Server 24.04 启动U盘详细教程
linux·服务器·ubuntu