TikTokShop-美国本土&跨境-达人邀约_影刀RPA源码解读

一、项目简介

本项目是基于影刀RPA平台开发的TikTok电商运营辅助工具,专注于帮助卖家自动化寻找合适的TikTok达人、发送合作邀约以及管理达人关系。工具通过模拟人工操作,提高达人开发效率,降低运营成本,特别适合TikTok跨境电商卖家使用。

核心功能包括:达人搜索与筛选、达人信息采集、自动发送邀约消息、数据导出与分析等。工具支持多种运行模式和自定义配置,可根据不同业务需求灵活调整。

二、项目结构

复制代码
xbot_robot/
├── UI.py              # 用户界面定义
├── __init__.py
├── __pycache__/
├── app.py
├── components/
│   └── base.py
├── debug.py
├── defaults_ui_config.json  # 默认UI配置
├── imagesV2.xml
├── main.py            # 项目入口文件
├── package.json
├── package.py
├── package.sigstore
├── pages/
│   └── home.py
├── process1.py
├── program.py         # 核心业务逻辑
├── program_beta.py
├── resources/
├── responses.json
├── selectorsV2.xml
├── settings.json
├── test.py
├── tool.py            # 网页自动化工具类
├── user_config.json   # 用户配置
└── xpath.py           # XPath选择器定义

三、项目特点和核心代码

1. 网页自动化操作链

工具类 Actions 封装了网页自动化的核心操作,提供了元素查找、点击、输入等功能,并支持模拟人工操作。

python 复制代码
class Actions:
    def __init__(self, owner: WebBrowser, timeout=10, delay_after=1):
        self._owner = owner
        self.timeout = timeout
        self.delay_after = delay_after
        # ...其他初始化代码

    def find(self, selector, *, timeout=None, throw=True):
        elem = self._find(selector, timeout=timeout, throw=throw)
        if elem: self.high(elem)
        return elem

    def click(self, x, *, timeout=None, simulative=None, delay_after=None):
        if simulative is None: simulative = self.click_simulative
        if delay_after is None: delay_after = self.delay_after
        elem = self.find(x, timeout=timeout)
        try:
            elem.click(simulative=simulative, delay_after=delay_after)
        finally:
            ...
        return self

    # ...其他方法

2. TikTok达人处理核心逻辑

TikTokHandler 类封装了与TikTok平台交互的核心逻辑,包括进入找达人页面、获取达人信息、处理验证码等功能。

python 复制代码
class TikTokHandler:
    def __init__(self, user_config):
        self.user_config = user_config
        self.mode = self.user_config.get("Mode", "superbrowser")
        self.domain = self.get_do_main()

    def get_do_main(self):
        """获取美国本土和全球跨境的domain"""
        web_page = xbot.web.get_active(mode=self.mode, load_timeout=20, silent_running=False)
        origin = web_page.execute_javascript('''() => {return window.origin}''')
        if origin not in [
            "https://seller-us.tiktok.com",
            "https://affiliate-us.tiktok.com",
            "https://seller.us.tiktokglobalshop.com",
            "https://affiliate.tiktokglobalshop.com",
        ]:
            print(origin)
            raise ToolTipError("请先进入tiktok首页")

        domain = origin.replace("://seller.us", "://affiliate", 1).replace("://seller-us", "://affiliate-us", 1)
        return domain

    def get_find_page(self, start_monitor: bool = False):
        """进入找达人页面"""
        xbot.logging.info(f"[get_find_page]: 正在进入找达人页面")
        web_page = xbot.web.create(f"{self.domain}/connection/creator", mode=self.mode, load_timeout=0, silent_running=False)
        ac = Actions(web_page)
        if start_monitor: ac.start_monitor_network()
        ac.find(X.FindSortBy, timeout=100)

        # 关闭多余的找达人页面
        web_page_list = xbot.web.get_all(mode=self.mode, url="*/connection/creator*", use_wildcard=True)
        for _web_page in web_page_list:
            if web_page.bid != _web_page.bid: _web_page.close()

        self.close_ads(ac)
        return web_page

3. 用户界面设计

UI.py 文件定义了工具的用户界面,使用 flet 库构建,提供了直观的配置选项和操作界面。

python 复制代码
class HomeTab(ft.UserControl):
    def __init__(self, on_change_tab):
        super().__init__()
        self.on_change_tab = on_change_tab
        self.root = ft.Ref()

    @staticmethod
    def on_change_mode(e: ft.ControlEvent):
        g_ui_config["Mode"] = e.data

    def build(self):
        return ft.Container(
            content=ft.Column(
                controls=[
                    Title("运行模式设置"),
                    ft.RadioGroup(
                        content=ft.Column([
                            ft.Radio(label="超级浏览器", value="superbrowser"),
                            ft.Radio(label="普通浏览器", value="browser"),
                        ]),
                        value=g_ui_config.get("Mode", "superbrowser"),
                        on_change=self.on_change_mode
                    ),
                    # ...更多UI组件
                ]
            )
        )

四、适用场景

  1. TikTok跨境电商卖家:帮助卖家快速找到适合推广自己产品的TikTok达人,提高产品曝光和销量。

  2. 电商运营团队:自动化达人开发流程,减少手动操作,提高团队工作效率,降低运营成本。

  3. 网络营销人员:用于TikTok平台的 influencer marketing 策略实施,批量联系和管理达人资源。

  4. 小型电商企业:无需专业技术人员,通过简单配置即可实现达人邀约自动化,提升营销效果。

  5. 市场调研:采集和分析达人数据,了解目标市场的热门话题和受众偏好,为产品开发和营销策略提供参考。

五、常见问题与建议

常见问题

  1. 验证码问题:运行过程中遇到验证码怎么办?

    • 工具提供了三种验证码处理方式:自动处理、暂停等待手动处理、停止运行。建议根据实际情况选择合适的方式。
  2. 运行速度问题:工具运行速度过慢或过快怎么办?

    • 可以在配置中调整运行速度参数,建议设置为中等速度以模拟真实人工操作,减少被平台识别为机器人的风险。
  3. 浏览器兼容性问题:工具支持哪些浏览器?

    • 工具支持Google Chrome、Mozilla Firefox、Microsoft Edge、360安全浏览器和影刀浏览器。建议使用Google Chrome以获得最佳体验。
  4. 数据导出问题:如何导出达人邀约的结果数据?

    • 工具会自动导出数据到Excel文件,默认保存到桌面,文件名为"TikTokShop-达人邀约运行结果.xlsx"。

六、源码下载

  1. 应用市场

  2. 私聊

七、后续扩展方向

  1. AI智能推荐:集成AI算法,根据产品特性和历史数据,智能推荐最匹配的达人,提高邀约成功率。

  2. 数据分析仪表盘:提供更丰富的数据可视化和分析功能,帮助用户更好地了解达人合作效果。

  3. 多账号管理:支持多账号切换和管理,满足团队协作和多店铺运营需求。

  4. 云服务集成:将工具与云服务集成,实现数据的云端存储和多设备同步。

  5. 移动端适配:开发移动端应用或适配移动端浏览器,提高工具的使用灵活性。