数据采集:自动化运营微博实战
功能组成
- 自动登陆
- 加关注
- 取消关注
- 写评论
- 发微博
开发工具
版本
Python 3.6.5浏览器
chrome(安装 chromedriver)相关模块
selenium
time
自动登陆
from selenium import webdriver
import time
browser = webdriver.Chrome()# 登陆微博
def weibo_login(username, password):# 打开微博登陆界面browser.get('https://passport.weibo.cn/signin/login')# 隐性等待。隐形等待是设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间截止。# 隐性等待对整个driver的周期都起作用,所以只要设置一次即可。browser.implicitly_wait(5)time.sleep(1)# 填写登陆信息:用户名,密码browser.find_element_by_id('loginName').send_keys(username)browser.find_element_by_id('loginPassword').send_keys(password)time.sleep(1)# 点击登陆browser.find_element_by_id('loginAction').click()time.sleep(1)# test
# 自己微博的账号密码
username = '********'
password = '********'
weibo_login(username,password)
加关注
# 添加指定用户
def add_follow(uid):browser.get('https://m.weibo.com/u/' + str(uid))time.sleep(1)follow_button = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div[4]/div[2]/div/div[1]/div')follow_button.click()time.sleep(1)# 选择分组group_button = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div[3]/div[2]/footer/div[1]/a')group_button.click()time.sleep(1)# test
# 添加指定用户
uid = '5520391962'
add_follow(uid)
取消关注
# 取消关注指定用户
def delete_follow(uid):browser.get('https://m.weibo.com/u/' + str(uid))time.sleep(1)delete_button = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div[4]/div[2]/div/div[1]/div/span/i').click()time.sleep(1)delete_button = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div[4]/div[2]/div/div[1]/div/div/ul/li[2]/div/h4').click()time.sleep(1)delete_button = browser.find_element_by_xpath('//*[@id="app"]/div[2]/div[1]/div[2]/footer/div[2]/a').click()time.sleep(1)# test
# 取消关注指定用户
uid = '5520391962'
delete_follow(uid)
写评论
# 给指定某条微博添加内容
def add_comment(weibo_url, content):browser.get(weibo_url)browser.implicitly_wait(5)content_textarea = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div/div[5]/div/div[1]').click()content_textarea = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div/div[5]/div/div/div/div[1]/textarea[1]').clear()time.sleep(1)content_textarea = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div/div[5]/div/div/div/div[1]/textarea[1]').send_keys(content)time.sleep(2)comment_button = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div/div[5]/div/div/div/div[2]/button').click()time.sleep(1)# test
# 给指定微博写评论
weibo_url = 'https://m.weibo.cn/detail/4161433421251081'
content = '测试评论'
add_comment(weibo_url,content)
发微博
# 发文字微博
def post_weibo(content):# 跳转到用户的首页browser.get('https://weibo.com')browser.implicitly_wait(5)# 点击右上角的发布按钮post_button = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div[1]/div[1]/div[2]/div[2]').click()# 在弹出的文本框中输入内容content_textarea = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div/main/div[1]/div/span/textarea[1]').send_keys(content)time.sleep(2)# 点击发布按钮post_button = browser.find_element_by_xpath('//*[@id="app"]/div[1]/div/header/div[3]/a').click()time.sleep(1)# test
# 自动发微博
content = '测试'
post_weibo(content)
写在之后
更多内容,欢迎关注公众号「Python空间」,期待和你的交流。
数据采集:自动化运营微博实战相关推荐
- 一个自动化运营自媒体的方案
背景 最近有在关注一些自媒体,发现这块现在正处于红利期,就如15年的VR,16年的AI,17年的区块链,18年的短视频,19年的直播.我们可以发现,每次抓住这样的节点都能诞生出一批企业,当然死的也很多 ...
- 李开复悔过:把运营微博当人生,把获取粉丝当游戏
过去,李开复几乎有点偏执地把运营微博变成人生的一部分,把获取粉丝当作游戏来玩.星云大师曾私下对李开复说,你没有办法剥离这种名利,你说的话是自己骗自己.现在,李开复很少上微博或发朋友圈,他认为那都是很功 ...
- 一个颜值低但脾气超好的自动化运维实战入门教程
注:本教程由廖高祥发布于实验楼,版权归原作者所有. 什么是自动化运维? 自动化运维是指将IT运维中日常的.大量的重复性工作自动化,把过去的手工执行转为自动化操作.自动化运维不单纯是一个维护过程,更是一 ...
- [转]网店博客营销之微博实战技巧:还没有做微博的掌柜看过来
网店博客营销之微博实战技巧:还没有做微博的掌柜看过来 提起微博,估计对于很多掌柜来说还是新鲜事.因为很多掌柜对于传统的博客都不太感冒,还未深究,现在又来了一个微博.其实,2009年中国的网络才正式步入 ...
- 腾讯云Kafka海量服务自动化运营实践
腾讯云CKafka是基于Apache Kafka 的分布式.高可扩展以及高吞吐的云端Kafka服务.腾讯云CKafka针对开源Kafka进行了多种优化,其中包括无锁队列优化.异步刷盘优化.多版本支持以 ...
- 如何做到自动化运营--数据驱动
这篇文章,只是以数据分析的视角进行一个自动化运维的解析,不提供代码和具体技术,就当作培养数据思维了. 我们都知道很多社交网络上可以刷粉,也可以刷阅读量,这已经形成了一个"产业链". ...
- python paramiko模块下载_Python自动化运维实战:使用Python管理网络设备
现在,我们已经知道如何在不同的操作系统中使用和安装Python以及如何使用EVE-NG搭建网络拓扑.在本章中,我们将学习如何使用目前常用的网络自动化库自动完成各种网络任务.Python可以在不同的网络 ...
- 标杆徐2018 Linux自动化运维实战,标杆徐2018 Linux自动化运维系列⑦: SaltStack自动化配置管理实战...
结合企业自动化集群场景讲解,轻松玩转SaltStack自动化配置管理工具 第1章 SaltStack基础应用 SaltStack安装 SaltStack认证 Saltstack远程执行 SaltSta ...
- HBase微博实战案例
HBase微博实战案例 1 需求分析 微博内容的浏览,数据库表设计 用户社交体现:关注用户,取关用户 拉取关注的人的微博内容 2 代码实现 2.1 准备工作 第一步:创建maven工程并导入jar包 ...
最新文章
- ios编译与android编译区别是什么,为iOS和Android编译C ++代码(XCode)。 这是真的吗?...
- Ubuntu上面安装Redis Python
- 微信红包系统架构的设计和优化分享
- 通过WordPress内置函数批量添加文章
- Mybatis解决jdbc编程的问题以及mybatis与hibernate的不同
- MySQL8.0.19下载安装及配置详细步骤
- 08_提升方法Boosting1_统计学习方法
- 移动机器人速度空间对比分析
- ​使用 QuickBI 搭建酷炫可视化分析
- 【Linux/CentOS】上手常见问题笔记
- U盘一键直接安装原版win7
- 简单几步:教你利用NAS设备存储云盒子企业网盘的所有数据
- mysql脏读和幻读区别_数据库的脏读、不可重复读和幻读区别
- 【深度学习】搭建类似LeNet-5网络识别Fashion-MNIST数据集(衣服,鞋子等)
- Youtube视频推荐算法:从10页论文到4页论文的变迁
- MATLAB 用高斯消元法求解线性方程组
- excel计算式自动计算_钢筋计算太麻烦?全套钢筋翻样Excel自动计算表,限时分享...
- 【Hack The Box】linux练习-- Ophiuchi
- 《大话处理器》简要学习笔记
- 百度地图API详解之地图标注
热门文章
- SAP MTO按销售订单生产核算案例教程目录
- MATLAB仿真均匀和相移光纤光栅的代码和图像
- UCB(Upper Confidence Bound)算法
- remine chart2安装
- swift 可选型的使用
- 2021年全球及中国电化学储能行业装机情况分析:中国电化学储能装机功率全球排名第二[图]
- 计算机公开课课前互动小游戏,心理辅导破冰小游戏(也可用于公开课热身)
- 为什么要来长沙投资?我从长沙招商新政策中找到了答案!
- win10R语言安装及hello world输出(完全教程)
- Play with Tacker(by quqi99)