Playwright MCP 实现小红书全自动发布的全流程指南

你是不是也受够了自动化脚本里小红书登录这个老大难?每次验证码、滑块验证没完没了,登录状态还动不动就失效,搞得"全自动"最后总得人手来救场?

现在有了 Playwright 的 Model Context Protocol (MCP),这事儿就好办多了。它不再是简单地操控浏览器,而是能直接连上你已经登录的小红书会话。也就是说,你只需要手动登录一次,后面发笔记、互动这些操作,全都能放心交给脚本——再也不用跟登录验证死磕了。

想实现小红书图文自动发布却无从下手?这篇零基础教程将带你一步步搞定。我们将利用 Playwright MCP,实现真正的无人值守发布,内容全是纯干货。

一、环境准备与配置:打下坚实基础

1.1 安装 Playwright

确保你的 Python 环境在 3.7 以上,然后安装 Playwright:

pip install playwright
playwright install chromium

1.2 安装配置 MCP 服务器

Playwright MCP 需要一个服务器来协调浏览器和你的自动化脚本:

# 通过 npm 全局安装
npm install -g @playwright/mcp

# 或者使用 npx 直接运行
npx @playwright/mcp

1.3 安装浏览器扩展

这是实现会话复用的关键步骤:

  1. 下载 Playwright MCP Chrome 扩展(ZIP 文件)

  2. 打开 Chrome,进入 chrome://extensions/

  3. 开启“开发者模式”

  4. 点击“加载已解压的扩展程序”,选择解压后的文件夹

  5. 完成安装后,记得在扩展管理界面启用它

二、连接已登录的浏览器会话

2.1 启动浏览器并手动登录

首先,你需要让浏览器以调试模式运行:

# Windows
chrome.exe --remote-debugging-port=9222

# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222

然后在打开的浏览器中手动登录小红书账号,完成所有必要的验证步骤。

2.2 编写连接代码

创建一个 Python 文件,写入以下代码来连接已登录的浏览器:

import asyncio
from playwright.async_api import async_playwright

asyncdef connect_to_logged_in_browser():
    asyncwith async_playwright() as p:
        # 连接到正在运行的浏览器实例
        browser = await p.chromium.connect_over_cdp("http://localhost:9222")
        
        # 获取默认的浏览器上下文
        default_context = browser.contexts[0]
        
        # 使用现有的页面或创建新页面
        if default_context.pages:
            page = default_context.pages[0]
        else:
            page = await default_context.new_page()
        
        # 检查是否已登录
        await page.goto('https://www.xiaohongshu.com')
        try:
            # 等待用户头像或其他登录后可见元素出现
            await page.wait_for_selector('[data-testid="user-avatar"]', timeout=5000)
            print("✅ 检测到已登录状态")
            return page
        except:
            print("❌ 未检测到登录状态,请先手动登录")
            returnNone

# 测试连接
asyncdef test_connection():
    page = await connect_to_logged_in_browser()
    if page:
        await page.screenshot(path='login_status.png')
        print("截图已保存,请查看登录状态")
    await browser.disconnect()

asyncio.run(test_connection())

三、完整的小红书图文发布脚本

以下是一个完整的自动化发布脚本,包含了异常处理和详细注释:

import asyncio
from playwright.async_api import async_playwright
import random
import os

class XiaohongshuAutoPublisher:
    def __init__(self):
        self.browser = None
        self.page = None
    
    asyncdef init_browser(self):
        """初始化浏览器连接"""
        try:
            playwright = await async_playwright().start()
            self.browser = await playwright.chromium.connect_over_cdp(
                "http://localhost:9222"
           
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值