数据分析实战——37丨数据采集实战:如何自动化运营微博?
- 使用 Python 自动化运营微博,达成以下的 3 个学习目标:
- 1、掌握 Selenium 自动化测试工具,以及元素定位的方法;
- 2、学会编写微博自动化功能模块:加关注,写评论,发微博;
- 3、对微博自动化做自我总结
- Selenium 自动化测试工具
- 当我们做 Web 自动化测试的时候,可以选用 Selenium 或者 Puppeteer 工具
- Selenium 更关注程序执行的流程本身,比如找到指定的元素,设置相应的值,然后点击操作
- 而 Puppeteer 是浏览者的视角,比如光标移动到某个元素上,键盘输入某个内容等
- 步骤包含2部分
- 定位元素
- 操作元素
- 完成微博的自动化登录
- from selenium import webdriver
- 当我们做 Web 自动化测试的时候,可以选用 Selenium 或者 Puppeteer 工具
- 微博自动化运营:加关注,写评论,发微博
- 加关注
- 第一点是如何找到用户的 UID
- 你可以点击任何一个微博用户,查看他的 URL 链接,比如链接是https://weibo.com/u/5020181423 ,那么 u 后面的数字 5020181423 即为用户的 UID。你也可能遇到https://weibo.com/ixinli(每天学点心理学)这样的链接情况,那么通过查看他的粉丝即可以显示出 UID,比如这个微博的粉丝链接是https://weibo.com/1890826225/fans,那么 UID 对应的就是 1890826225
- 第二个需要注意的是使用 XPath 定位元素定位
- 第一点是如何找到用户的 UID
- 写评论
- 如何找到某条微博的链接呢?你可以在某个用户微博页面中点击时间的链接,这样就可以获取这条微博的链接
- 发微博
- 我们可以观察到点击微博页面的右上角的按钮后,会弹出一个发微博的文本框,设置好内容,点击发送即可
- 微博自动化运营只是自动化运营的开始,实际上在微信上我们也可以做同样的操作。比如监听微信群的消息,自动发微信等。实际要考虑的问题比微博的要复杂
- 总结
- 同时我们使用了 implicitly_wait 函数以及 time.sleep() 函数
- 让浏览器和程序等待一段时间,完成数据加载之后再进行后续的操作
- 这样就避免了数据没有加载完,导致获取不到指定元素的情况
- 同时我们使用了 implicitly_wait 函数以及 time.sleep() 函数
行者无疆,始于足下
行走,思考,在路上