做闲鱼出闲置也有段时间了,最烦的就是半夜有人问 “在吗”“最低多少”,白天忙起来又漏回消息,等想起来买家早跑了。折腾了几天,终于搭好了一套能 24 小时值守的自动回复系统,不用复杂的开发环境,普通电脑或者闲置的小主机都能跑,今天把实操过程记下来,新手照着来也能搞定。
一、先说明白:这套系统能干嘛
先把边界说清楚,避免大家白忙活。这套回复系统主要解决三个问题:
买家发 “在吗”“还在吗” 这类无意义咨询,自动回复预设话术(比如 “在的亲,这款还在,参数和价格都在详情页,有具体问题直接说哦~”);
触发关键词自动应答,比如有人问 “包邮吗”“自提在哪”,直接回复提前设置的答案;
离线也能运行,不用一直开着闲鱼 App,电脑挂着脚本就能干活。
注意:咱们用的是 “模拟操作” 的轻量方案,不是破解接口,合规使用,别用来发广告、恶意回复,避免账号被限流。
二、准备工作(不用买服务器,本地就能跑)
所需设备和软件
设备:任意一台能连网、可长时间开机的电脑(我用的是老电脑,E5 1650v2 的主机,挂着完全不占资源),笔记本、甚至树莓派都可以;
软件:
谷歌浏览器(必须是这个,兼容性最好);
Python 3.9(别装最新的 3.12,有些库不兼容);
文本编辑器(Notepad++ 就行,不用复杂的 IDE)。
提前做的小准备
闲鱼账号提前登录好谷歌浏览器,勾选 “记住密码”,避免脚本每次都要重新扫码;
把闲鱼的 “消息” 页面设为书签,方便脚本快速定位;
想好要自动回复的话术,比如通用回复、包邮说明、自提地址、发货时间,整理成一个文本文档备用。
三、核心步骤:一步步搭起来
第一步:安装 Python 和依赖库
安装 Python 3.9,安装时一定要勾选 “Add Python to PATH”(添加到环境变量),不然命令行识别不了;
打开电脑的 “命令提示符”(Win+R 输入 cmd 回车),依次输入以下命令,安装需要的库(输完一个等它装完再输下一个):
pip install selenium
pip install webdriver-manager
- 这里说明下:selenium 是用来模拟浏览器操作的,webdriver-manager 能自动匹配谷歌浏览器的驱动,不用自己手动下载,省得版本不匹配报错。
不用自己去官网找驱动了,我写的脚本会自动下载。只需要确认你的谷歌浏览器是最新版本,打开浏览器,点击右上角三个点→帮助→关于谷歌浏览器,让它自动更新完成即可。
- 打开 Notepad++,新建一个文件,把下面的代码复制进去;
- 重点修改 “自定义配置区” 的内容,把你的话术、关键词改成自己的,这是核心;
- 保存文件,命名为 “xianyu_auto_reply.py”(注意后缀是.py,不是.txt),建议保存到桌面,方便查找。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import random
# -------------------------- 自定义配置区(改这里就行) --------------------------
# 通用回复:没人问具体问题时的默认回复
DEFAULT_REPLY = "亲在的~ 这款宝贝还在出售,详细参数和价格都在详情页里啦,有具体问题直接说,看到就会回复哦!"
# 关键词回复:键是买家说的关键词,值是你的回复
KEYWORD_REPLIES = {
"包邮吗": "非偏远地区包邮,新疆、西藏、内蒙古需要补10元运费哦~",
"最低多少": "亲,价格已经是底价了,不议价哈,看中直接拍,当天就能发货!",
"自提": "可以自提哦,地址在XX,自提能减20元~",
"发货时间": "当天16点前拍下,当天发顺丰;16点后拍下,第二天上午发货~"
}
# 刷新消息的间隔时间(秒),建议5-10秒,别太频繁,避免被判定为异常
CHECK_INTERVAL = 8
# ------------------------------------------------------------------------------
# 初始化浏览器
def init_browser():
# 配置浏览器选项,让浏览器在后台运行(不想后台运行就把下面3行注释掉)
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless=new")
chrome_options.add_argument("--disable-gpu")
# 自动下载并配置驱动
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=chrome_options)
# 最大化窗口,避免元素被遮挡
driver.maximize_window()
# 打开闲鱼消息页面(提前登录过的话,直接就能进入)
driver.get("https://2.taobao.com/index.htm")
time.sleep(3)
# 跳转到消息中心
driver.get("https://msg.taobao.com/")
time.sleep(5)
print("浏览器初始化完成,已进入闲鱼消息页面!")
return driver
# 检查新消息并回复
def check_and_reply(driver):
try:
# 等待消息列表加载完成
WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "msg-conversation-list"))
)
# 找到所有未读消息的会话(带红点的)
unread_sessions = driver.find_elements(By.CLASS_NAME, "icon-notice")
if not unread_sessions:
return # 没有未读消息,直接返回
for session in unread_sessions:
# 点击进入会话
session.click()
time.sleep(random.uniform(2, 3)) # 随机延迟,模拟真人操作
# 找到最后一条消息(买家发的)
messages = driver.find_elements(By.CLASS_NAME, "msg-bubble")
if not messages:
continue
last_msg = messages[-1].text.strip()
print(f"收到买家消息:{last_msg}")
# 确定回复内容
reply_content = DEFAULT_REPLY
for keyword, reply in KEYWORD_REPLIES.items():
if keyword in last_msg:
reply_content = reply
break
# 定位输入框并发送消息
input_box = WebDriverWait(driver, 5).until(
EC.presence_of_element_located((By.CLASS_NAME, "chat-input"))
)
input_box.clear()
input_box.send_keys(reply_content)
# 点击发送按钮
send_btn = driver.find_element(By.CLASS_NAME, "send-btn")
send_btn.click()
print(f"已回复:{reply_content}")
time.sleep(random.uniform(1, 2)) # 发送后延迟,避免操作过快
# 返回消息列表
driver.back()
time.sleep(2)
except Exception as e:
print(f"操作过程中出现小问题:{e}")
time.sleep(5) # 出错后延迟,再继续运行
# 主程序
if __name__ == "__main__":
driver = init_browser()
try:
print("自动回复系统已启动,按 Ctrl+C 停止运行!")
while True:
check_and_reply(driver)
time.sleep(CHECK_INTERVAL)
except KeyboardInterrupt:
print("\n正在停止系统,关闭浏览器...")
driver.quit()
print("系统已停止!")
- 打开命令提示符,输入 “cd 桌面”(因为脚本保存在桌面),回车;
- 再输入 “python xianyu_auto_reply.py”,回车;
- 此时会看到命令行里显示 “浏览器初始化完成,已进入闲鱼消息页面”,就说明系统启动成功了;
- 可以用另一个闲鱼账号给自己发消息测试,比如发 “包邮吗”,过几秒就会收到自动回复。
- 加 “重复消息过滤”:如果同一个买家连续发相同的消息,只回复一次,避免刷屏;
- 加 “订单提醒”:如果有新订单,自动回复 “已看到订单,正在打包,稍等给你发快递单号”;
- 开后台运行:脚本里默认是 “后台运行”,如果想看到浏览器的操作过程,把 “chrome_options.add_argument” 那两行代码注释掉就行。
这套系统我已经用了快一周,每天能自动回复几十条消息,漏回的情况几乎没有,成交率也比之前高了不少。其实原理很简单,就是模拟我们手动打开浏览器、看消息、回复消息的过程,新手不用纠结代码原理,只要改改话术就能用,分享给需要的朋友。
暂无评论内容