这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战
微博、头条均设置一个自动评论的脚本
需求
- 博主发帖后,第一时间评论
- 评论内容 - 设置几种回复内容 + 根据当前要求自动生成
- 评论内容 - 截图上传 + 评论
- 截图内容 - 小程序指定内容/小红书指定内容
- 发后的信息自动填写到某在线文档中
具体实现
-
准备工作
-
终端 - 安装Xcode[Mac系统下的IDE]xcode-select --install - 安装
xcode-select -p - 查看所在路径 -
终端 - 安装brew[包管理工具]
失败。 - 要🪜,或者换镜像。
brew中安装python[brew install python3]
微博、头条自动登录
打开浏览器
安装selenium, Mac要设置Safari - 参考https://blog.csdn.net/miaomiao_zhang/article/details/86617783
2. 打开微博
from selenium import webdriver
import time
browser = webdriver.Safari()
#打开微博
browser.get('https://passport.weibo.cn/signin/login')
browser.implicitly_wait(5)
time.sleep(1)
- 输入用户名,密码
#微博登陆
# 设置用户名、密码
username = "自己的用户名"
password = "自己的密码"
browser.find_element_by_id("loginName").send_keys(username)
browser.find_element_by_id("loginPassword").send_keys(password)
time.sleep(1)
-
登陆 - 登陆验证
这里登陆的时候发现会跳到验证码登陆的位置 因此 -> 解决 手机登录验证码问题 + 图片验证问题
原本以为我上面显示的使用其他方式验证,可以有其他验证方法,但发现还是短信验证。因此现在首要解决的是 - 如何短信验证
微博 - 获取短信验证码的button是拿js实现的
1. 如何找到获取短信验证码的button并点击
a href 获取,其中没有id等标识,但有class
#跳转到输入验证码的位置 - 没有ID,但是有class
# 方法一:获取class
# browser.find_element_by_class_name('m-btn-block').click()
#方法二:通过链接的文本信息
browser.find_element_by_link_text("使用其他方式验证").click()
browser.find_element_by_link_text("使用私信接收验证码").click()
# 方法三:通过xpath - 例如路径中 a 包含了href,action_one.htm 也包含了Action One
# browser.find_element_by_xpath("//a[contains(@href,'action_one.htm') and contains(.,'Action One')]").click()
#方法四:通过css选择器 - href中包含了XX.htm
# browser.find_element_by_css_selector("a[href*='XX.htm']").click()
- 如何自动获取到当前验证码
当前有两种方式 - 获取到后手动填写/全部自动化 - 从云端服务器获取到短信信息,爬取下来填写进入
获取后手动填写
smsCode = input("输入六位验证码:")
browser.find_element_by_css_selector('input[placeholder="输入验证码"]').send_keys(smsCode)
time.sleep(1)
browser.find_element_by_link_text("确认").click()
至此 - 微博成功登录,但头条并没有。
头条登录需要解决的问题是 - 发送验证码之前还有滑块图片验证。因此需要对头条在验证码登录前实现滑块验证。自动化实现就也通过头条来实现了
--- 未完待续 ---
全部自动化 - 头条 + 滑块验证
- 自动关注、点赞、评论
后期可拓展
- 自动回复机器人 - 淘宝,微信 - 淘宝客
- 微博、小红书等自动找文,找图,合成发帖
- 淘宝店 - 自动下载文档等
- 淘宝等 - 自动签到