Mac上python+selenium实现微博登录和自动评论
最近开始追星,希望能给他尽一份力。本文是基于Win的微博自动评论的基础上,在Mac电脑上进行的微博自动化评论尝试,包含登陆微博和评论两大功能,该尝试是基于mac电脑,win电脑可参考Win的微博自动评论。
目录
- 环境要求
- 1 分析
- 2 引入selenium模块及驱动
- 2.1 selenium模块安装
- 2.2 安装Chromedriver
- 2.3 导入selenium和webdriver
- 3 模拟登录
- 3.1 半自动登陆
- 3.2 发起请求
- 3.4 发送评论
- 3.4 效果图
- 4 完整代码
环境要求
- 安装python,版本是python3
- 安装了chrome浏览器
1 分析
本想通过直接注入用户名和密码进行登录
但是输入用户名和密码,点击登录后跳到了以下页面,所以这个登录方法就无法进行下去了。
所以,我决定用手机微博扫码实现登录访问。
2 引入selenium模块及驱动
2.1 selenium模块安装
Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。
安装
pip3 install selenium
或者
conda install selenium
验证安装 我们在命令行窗口输入 以下命令来检验是否安装成功
python3
import selenium
2.2 安装Chromedriver
- 查看Chrome版本
打开chrome,在设置->关于Chrome
查看Chrome的版本号。
更详细的ChromeDriver配置方法可参考Mac ChromeDriver配置。
2.3 导入selenium和webdriver
import time
from selenium import webdriver#调用selenium包
browser = webdriver.Chrome()
3 模拟登录
3.1 半自动登陆
运行代码,自动登录微博账号(网页版),然后会弹出手机微博扫码登陆的提示,扫码登陆即可。如果没有弹出,点击网页的登陆,选择手机扫码登陆。
代码:
# 设置登录微博需要打开的url
loginUrl = "https://weibo.com/login.php";
browser.get(loginUrl)
time.sleep(20) # 留时间给手机扫码登陆,里面的数字是等待多少秒,可调整
3.2 发起请求
需要注意是的是,我们需要先找到需要评论的微博的网址,例如https://weibo.com/2493180882/MbNi9DmOj/?filter=hot&root_comment_id=0&type=comment#_rnd1619142836733,如果是其他人的评论,把https://weibo.com/2493180882/MbNi9DmOj替换成对应的微博链接即可。
操作完成后,我们就成功以登录的状态跳转到我们想要刷评的微博了。
3.4 发送评论
输入评论
我们先要找到评论输入框的控件。在网页上右键单击,弹出菜单中选择“检查”,进入开发者模式。
mac chrome进入开发者模式也可能是
然后依次进行下图中的操作:
这个时候,我们的粘贴板中就有了用于查找输入框控件的字符串,找到控件后,我们向其注入我们想要评论的内容。
点击“评论”发送
我们用与查找评论输入框相同的方法找到“评论”控件,并用代码将其点击,评论就得以发送了。
# 注入评论与发送
for i in range(5):browser.find_element_by_css_selector("#composerEle > div > div > div:nth-child(1) > div > textarea").send_keys(i)time.sleep(1)browser.find_element_by_css_selector("#composerEle > div > div > div.Composer_mar1_ujs0j > div > button").click()time.sleep(5)browser.find_element_by_css_selector("#composerEle > div > div > div:nth-child(1) > div > textarea").clear()
3.4 效果图
4 完整代码
import time
from selenium import webdriver#调用selenium包
browser = webdriver.Chrome()# 设置登录微博需要打开的url
loginUrl = "https://weibo.com/login.php";
browser.get(loginUrl)
time.sleep(20) # 留时间给手机扫码登陆,里面的数字是等待多少秒,可调整#设置需要刷评的微博的url
url = "https://weibo.com/2493180882/MbNi9DmOj?filter=hot&root_comment_id=0&type=comment#_rnd1619142836733"
browser.get(url)
time.sleep(1)# 注入评论与发送
for i in range(5):browser.find_element_by_css_selector("#composerEle > div > div > div:nth-child(1) > div > textarea").send_keys(i)time.sleep(1)browser.find_element_by_css_selector("#composerEle > div > div > div.Composer_mar1_ujs0j > div > button").click()time.sleep(5)browser.find_element_by_css_selector("#composerEle > div > div > div:nth-child(1) > div > textarea").clear()
Mac上python+selenium实现微博登录和自动评论相关推荐
- python+selenium实现微博登录和自动评论
作为杨超越的粉丝,我并不甘心做一个完全的白嫖党,所以有时我也会帮忙做做数据,点点赞.刷刷评等.今天,我突发奇想,能不能用python实现自动化刷评呢?要实现这个想法肯定是要自动化登录微博的,于是有了以 ...
- 用Python+Selenium来测试登录自动登录163邮箱
用Python+Selenium来测试登录自动登录163邮箱 1 准备条件 2 程序说明 3 代码 1 准备条件 ① windows系统(也许你是Linux,Mac,自行选择) ②安装了Anacond ...
- mac 搭建python+selenium+chromedriver环境
mac 搭建python+selenium+chromedriver环境 有关配置默认python3,请查看:https://blog.csdn.net/qq_35098526/article/det ...
- mac上python的matplotlib库绘图时xlabel中文字符显示成小方框-解决方案
import matplotlib.pyplot as plt 然后,mac上Python绘图遇到,一个汉字一个框: 找了好几篇博客,并不管用,原因可能是设置的SimHei.KaiTi之类的字体在ma ...
- python环境变量的配置mac_在mac上python环境变量配置
mac上Python安装和修改Python默认路径遇到的问题 参考地址:https://www.cnblogs.com/bahcelor/p/8278711.html ----简要笔记---- (一) ...
- Python + Selenium + Chrome Driver 自动化点击+评论+刷弹幕(仅供学习)
Python + Selenium + Chrome Driver 自动化点击 评论 刷弹幕 首先说明,这篇博文仅供学习!仅供学习!仅供学习! 不要拿去做其他事,封号概不负责!!! 突发奇想 首先先说 ...
- Python selenium实现微博自动登录
(一)编程环境 操作系统:Win 10 编程语言:Python 3.6 (二)安装selenium 这里使用selenium实现. 如果没有安装过python的selenium库,则安装命令如下 pi ...
- Python+selenium+firefox模拟登录微博并爬取数据(1
1:环境python3.5,最新 firefox,selenium-3.14.0. 本来准备用无界面的,但是感觉效果不好看出来所以先用有界面的浏览器来做.分几次来慢慢写.这节先配置好环境. 2:安装: ...
- Python + Selenium实现163邮箱的自动登录和发送邮件
运用Python和Selenium实现163邮箱的自动登录和发送邮件 初接触selenium,最近研究了一下用python和Selenium实现163邮箱的自动登录和发送邮件的实现过程,中间出现了各种 ...
最新文章
- Your Podfile has had smart quotes sanitised
- 总结jenkins Android自动打包遇到的坑
- 《网管员必读——网络组建》(第2版)导读
- python读取视频占用内存太大_Python 读取大文件内存占用检测示例
- python读取数据文件、并把里面的数据变成x的二维坐标_(数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换...
- Java Servlet response
- 使用JavaScript弹出Confirm对话框
- Android 中文API (38) —— Spinner
- chmod chown
- django组件-cookie与session
- 计算机的典型网络地址 特殊0.0.0.0 本机127.0.0.1 内网192.168.xxx.xxx 172.xxx.xxx.xxx 10.xxx.xxx.xxx 外网
- SPI总线接口与简单配置
- QCC3008项目实战:BlueVest体感背心
- NLPIR 汉语分词系统 (PyNLPIR) 学习手札
- ReportMachine 打印机横向
- MyBatis缓存机制详解
- android 友盟统计功能,Android应用中添加友盟统计
- STM32CubeIDE的一点使用技巧
- 【软考软件评测师】2019综合知识历年真题
- som神经网络聚类简单例子_神经网络学习及其模型
热门文章
- 图形推理1000题pdf_数字推理之图形题技巧详解
- 做机器视觉哪个软件好?
- tp5批量添加数据,批量修改数据
- Three.js 的 WebVR 示例解析
- Android开发杂草园
- CSU 1505——酷酷的单词
- Floyd(弗洛伊德)算法(邻接矩阵与邻接表实现)——暴力求解多源点最短路
- Android Study 之 6分钟妥妥集成微信以及支付宝支付
- 《数据库概论》实验(2):交互式SQL--创建表《数据库概论》 实验(3)-交互式SQL--简单查询 《数据库概论》实验(4):交互式SQL--复杂查询
- 刮胡子,刮出一身冷汗