当前位置: 首页 > news >正文

【RPA典型应用-注册及登录发布信息自动化项目】

前言

客户的需求为批量注册账户、自动登录并发布信息方面的项目。

  1. 通过批量注册海外指定网站的账户(比如youtube,binance)。
  2. 读取指定的账户密码文件,登录到指定网站,将指定的视频文件及标题和信息内容,发布到网站上,手工工作量大,并且容易被屏蔽。

自动化流程可以采用selenium chrome或类似的技术框架,主要涉及反机器检测难点:
1、 基于IP的检测,同IP 注册大量账户很容易被检测,海外代理IP要访问要先翻墙或直接用国外主机, 速度优化是个难点。
2、 风控检测,如果同浏览器指纹被关联到多账户,则容易被封掉。
3、 短信验证码,接码平台对接, 如sms-activate 拿到手机号后再接收短信验证码。
4、 机器人检测,比如通过九宫格、滑动拼图、图标或文字点选等, 需要识别图中内容,并产生模拟真人的交互轨迹。
九宫格或语义空间需要调用YesCaptcha或打码平台(费用高),也可以采用yolox自己训练

解决方案:

一、 自动化整体示意图及说明
二、 Selenium 框架简介
三、 chrome浏览器内核反识别修改编译
四、 Yolox机器识别简介
五、 项目案例流程介绍

一、 自动化整体业务示意图:

  1. RPA 程序启动
  2. 下载业务脚本,RPA机器人打开浏览器,导航到目标网站。
  3. 机器检测流程中,RPA程序和网站交互,获取需要的信息调用三方打码平台或ddddocr (数字、英文图形验证码)、yolox(文字、图标点选、语义空间等),完成交互验证。
  4. 短信验证码流程,RPA程序对接三方接码平台,获取手机号后,RPA机器人在浏览器输入,RPA程序获取到短信验证码后在浏览器中输入,完成短信验证过程。
  5. 上传视频及发布信息,RPA程序从本地文件预先读取后,RPA机器人在浏览器完成上传视频及发布信息的操作。

在这里插入图片描述

二、 Selenium 框架简介:

浏览器自动化指通过编程控制 Web 浏览器,以执行用户常规操作,如:
1) 网页导航(访问特定网址)
2) 数据抓取(提取网页中的信息)
3)表单填写(自动登录、输入数据)
4)点击按钮(模拟用户交互)
5) 鼠标拖拽(模拟用户交互)
Selenium是一个强大的工具,可以用于自动化浏览器操作。通过它,我们可以在浏览器中自动执行鼠标点击、键盘输入等操作。下面,我将介绍如何使用Selenium来实现自动注册。
在进行自动注册时,首先需要模拟浏览器行为。这可以通过Python的Selenium库实现。Selenium可以控制浏览器,执行诸如打开网页、输入信息、点击按钮等操作。

  1. 安装Selenium
    要使用Selenium,首先需要安装它。可以通过pip命令来安装:
    pip install selenium
  2. 下载浏览器驱动
    Selenium需要浏览器驱动才能控制浏览器。根据所使用的浏览器,下载相应的驱动程序(如ChromeDriver、GeckoDriver等),并将其路径添加到系统环境变量中。
  3. 编写脚本
    编写Python脚本(如Python、Java、Ruby等,都用于在Selenium中编写测试脚本),使用Selenium控制浏览器进行自动注册。以下是一个简单示例,展示如何使用Selenium打开网页并输入信息:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
# 设置 ChromeDriver 路径
chrome_driver_path = "c:/chrome/chromedriver.exe"
# 配置 Chrome 选项
options = Options()
options.binary_location = "C:/chrome/116/chrome.exe"
# 创建 Service 对象
service = Service(executable_path=chrome_driver_path)
# 创建 WebDriver 实例
driver = webdriver.Chrome(service=service, options=options)
# 访问网页
index = "https://www.browserscan.net/zh/bot-detection"
driver.get(index)

三、 chrome浏览器内核反识别修改编译

由于海外网站大多具备设备指纹采集,Selenium 有些明显的机器人信息及设备指纹容易被识别,针对指纹检测网站的检测原理,做出修改重新编译,简单介绍涉及的几方面

1. 绕过cdp检测

在这里插入图片描述

2. 生成随机canvas指纹

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1e4a9b8b93044abdb0853761bae45617.png)

3. 生成随机webGL指纹

在这里插入图片描述

四、 Yolox机器识别简介

部分网站采用机器检测防爬虫,如九宫格、语义空等,在调用次数大的情况下自己训练模型可以节约成本,以下针对典型的语义空间图形,采用YOLOX进行训练
在这里插入图片描述
在这里插入图片描述

1、 图片标注,利用标注工具都采集下来的图片进行标注,几百张进行训练会有一定效果,训练再补充标注

在这里插入图片描述

2、 标注校验,对标注好的标签,将同标签切割为独立文件,放到同目录进行检查

在这里插入图片描述

3、 yolox训练

将标注好的图片目录,转换为voc 格式,分为训练数据和验证数据集,在实际训练中对该项目进行优化,大幅减少了处理时间
在这里插入图片描述

4、 部署模型

将训练好的模型及分类标签部署到YOLOX_SERVER ,在识别出基本的标签后,还需要进行逻辑处理,
比如 “请点击与最大圆柱体颜色相同的物体”,需要计算面积及提取颜色,再计算出答案。
提供API 接口识别服务,客户端提交文件返回识别出的标签及位置信息

{"confirm_data":[],"data":"547,109","width":680,"title":"侧D","detections":[{"正C":[335,210,471,363]},{"正D":[294,121,398,237]},{"正D":[144,58,241,164]},{"圆柱体":[88,234,176,348]},{"圆柱体":[379,94,469,210]},{"侧D":[504,55,591,163]},{"圆柱体":[504,136,591,247]},{"正D":[203,223,271,298]},{"圆柱体":[115,152,204,263]},{"正e":[577,247,626,306]}],"height":460}

在这里插入图片描述

五、 项目案例流程介绍

项目1:youtube注册账户自动化流程

实现批量注册账户,将注册后的账户及密码保存到文件
操作过程:

  1. 输入名称:
    在这里插入图片描述

  2. 选择出生日期及性别
    在这里插入图片描述

  3. 选择 Get a Gmail address instead
    在这里插入图片描述

  4. 选择创建gmail邮箱并输入账号

在这里插入图片描述

  1. 输入密码及确认密码
    在这里插入图片描述

  2. 机器人检测
    在这里插入图片描述

通过对接yescaptcha 接口,有2种方式可以通过检测

  1. YesCaptcha TOKEN 方式
    易于集成:使用TOKEN方式进行验证通常只需要在前端页面上嵌入一段JavaScript代码,无需后端复杂处理,简化了集成流程。
    在这里插入图片描述

    价格高

  2. 获取九宫格位置
    实现复杂:需要在前端实现九宫格的布局和位置的获取逻辑,相对于TOKEN方式来说,开发成本和复杂度更高。
    价格低一些,但存在点击多个九宫格的情况

  1. 接码平台对接
    https://sms-activate.io/
    选择不同的国家价格差别很大,通过率高的国家可能价格会更贵, 在自动化脚本中需要分析选择合适的国家
    在这里插入图片描述
    a) 调用初始化key
    sa = SMSActivateAPI(“d5b0f93b38d971c0518fbddef94beAd4”)
    b) 获取手机号码信息
    number = sa.getNumber(service=‘go’, operator=operator_code, country=country_num, verification=“false”)
    phone_number=str(number[‘phone’])
    activation_id=number[‘activation_id’]
    c) 在界面输入电话号码后,后台轮询短信验证码
    activeActivations = sa.getActiveActivations()
    for active in activeActivations[‘activeActivations’]:
    smsCode=active.get(‘smsCode’)
    smsText=active.get(‘smsText’)
    d) 在界面输入短信验证码
    input sms code
    self.wait_send_keys(driver.find_element(‘name’,‘code’),smsCode[0])
  2. 完成自动注册,将随机生成的账户、密码保存到本地文件
http://www.dtcms.com/a/610774.html

相关文章:

  • ajax瀑布流网站模板西双版纳
  • 国外无版权图片网站用vs2010做网站论文
  • C++零基础通关教程第二课
  • 福建网站建建设山东省临沂建设局网站
  • 大模型应用python+Java后端+Vue前端的整合
  • Doxygen使用教程(下载链接,配置过程,语法)
  • Spring Boot Admin 踩坑
  • 企业网站广告周浦网站建设公司
  • 大模型Agent能力增强技术全景
  • 深度智能体-长短期记忆
  • dfs|bfs|定长栈|栈+双指针
  • flutter实践:DropdownButton2使用示例
  • 电商网站订烟平台官网wordpress dux1.4
  • 【信创】软硬件概览
  • 论述网站建设过程中应注意的问题电脑和手机都能浏览的网站开发
  • 扬州市住房和城乡建设网站学科分类目录
  • springboot、Mybatis-plus工程多数据源字段映射不生效
  • 大模型应用开发5-SpringAIalibaba实战
  • 网站子站怎么做的外贸网站建设的好处
  • Go语言包管理/模块管理
  • 写出电子商务网站的建设流程wordpress配置文件是
  • Design Compiler:在GUI界面查询设计对象的属性
  • 海洋网站建设网络章丘做网站
  • (三)分支与合并 - git cherry-pick 命令的使用
  • 开发者实践:AGV 梯控的边缘计算私有部署与数据不出厂解耦
  • 网站备案法律法规网站建设有免费的空间吗
  • Java后端实战:Nginx集群适配免费WAF,解决API高频请求与参数校验痛点
  • 桌面开发,在线%日记本,日历%系统开发,基于eclipse,jdk,java,无数据库
  • 建设档案员证书查询网站电子政务门户网站建设代码
  • 企业集团网站建设python创建网站