在之前的几篇博客中,我们探讨了自动登录RPA, 热榜数据抓取RPA,主要侧重于 RPA 托管个人账号实现自动登录和热门数据抓取的场景。今天,我们将进一步探讨如何利用 RPA 技术解决批量账号的校验问题。
场景引入
想象这样一个场景,小明在从某互联网大厂离职后,毅然投身于自媒体的广阔天地。他选择的赛道是好物推荐,为了扩大影响力,需要运营多个账号来进行种草。此时,小明刚好从服务商手中购买了一批账号,然而,这些账号的正确性却无法得到保证。那么,小明该如何快速找出那些可用的账号呢?
传统方法的局限
或许有人会说,直接逐个登录小红书进行尝试不就可以了吗?确实,这种方法在账号数量较少时能够解决问题。但是,如果有 100 个、1000 个甚至 10000 个账号呢?在这种情况下,账号批量校验 RPA 就成为了小明的得力助手。
账号批量校验RPA
假如,这一批账号都存在Excel中。首先,我们要先从Excel把这一批账号读到内存中。
def read_data(file_path):
with open(f'{filepath}/{filename}.csv', 'r', encoding='utf-8') as f:
account_info = f.read()
account_info_list = parse(account_info)
接着,我们来解析账号信息,在这个过程中,我们需要注意一些细节,比如可能存在的特殊字符以及文件的编码格式等。
def parse(account_info):
# 移除 BOM 字符
account_info = account_info.lstrip('\ufeff')
reader = csv.reader(account_info.splitlines())
# 跳过表头行
next(reader, None)
result = [{
'username:': row[0],
'password:': row[1]
# 其它信息忽略,按需扩展就行
}
for row in reader]
return result
然后,遍历每一行的数据,逐个进行校验。
for index, item in list(enumerate(account_info_list)):
username = item['username']
pwd = item['password']
# 找到用户名和密码的输入框并输入用户名和密码
login_ele = client.eles('@class:base-input-text'
login_ele[0].input(user)
time.sleep(1)
login_ele[1].input(pwd)
time.sleep(1)
# 勾选服务条款和隐私协议
client.ele('@class:inform-title').click()
time.sleep(1)
# 找到登录按钮并登录
client.ele('@class:base-button').click()
# 滑动验证-忽略
if client.s_ele('账号或密码错误'):
log('warn', 'username or pwd is error')
else:
do_write(success_fith_path)
滑块验证,以及可能出现的异常等部分我就不再赘述了,具体可参考以下链接:
最后,我们将验证通过的账号写入另外一个文件中,等待后续的录入。
def do_write(success_fith_path):
with open(success_fith_path, 'a+', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow([username, pwd])
总结
通过上述步骤,我们成功地实现了批量账号的校验。这个过程不仅为小明解决了自媒体账号筛选的难题,也为其他面临类似问题的新媒体人提供了一种高效的解决方案。
如果大家在这个过程中有任何疑问,欢迎在评论区留言讨论。让我们一起探索 AI+RPA 的更多可能性,为我们的工作和事业带来更多的助力。