最近开始追星,希望能给他尽一份力。本文是基于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 完整代码

环境要求

  1. 安装python,版本是python3
  2. 安装了chrome浏览器

1 分析

本想通过直接注入用户名和密码进行登录
​​
但是输入用户名和密码,点击登录后跳到了以下页面,所以这个登录方法就无法进行下去了。

所以,我决定用手机微博扫码实现登录访问。

2 引入selenium模块及驱动

2.1 selenium模块安装

Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。

安装

pip3 install selenium
或者
conda install selenium

验证安装 我们在命令行窗口输入 以下命令来检验是否安装成功

python3
import selenium

2.2 安装Chromedriver

  1. 查看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实现微博登录和自动评论相关推荐

  1. python+selenium实现微博登录和自动评论

    作为杨超越的粉丝,我并不甘心做一个完全的白嫖党,所以有时我也会帮忙做做数据,点点赞.刷刷评等.今天,我突发奇想,能不能用python实现自动化刷评呢?要实现这个想法肯定是要自动化登录微博的,于是有了以 ...

  2. 用Python+Selenium来测试登录自动登录163邮箱

    用Python+Selenium来测试登录自动登录163邮箱 1 准备条件 2 程序说明 3 代码 1 准备条件 ① windows系统(也许你是Linux,Mac,自行选择) ②安装了Anacond ...

  3. mac 搭建python+selenium+chromedriver环境

    mac 搭建python+selenium+chromedriver环境 有关配置默认python3,请查看:https://blog.csdn.net/qq_35098526/article/det ...

  4. mac上python的matplotlib库绘图时xlabel中文字符显示成小方框-解决方案

    import matplotlib.pyplot as plt 然后,mac上Python绘图遇到,一个汉字一个框: 找了好几篇博客,并不管用,原因可能是设置的SimHei.KaiTi之类的字体在ma ...

  5. python环境变量的配置mac_在mac上python环境变量配置

    mac上Python安装和修改Python默认路径遇到的问题 参考地址:https://www.cnblogs.com/bahcelor/p/8278711.html ----简要笔记---- (一) ...

  6. Python + Selenium + Chrome Driver 自动化点击+评论+刷弹幕(仅供学习)

    Python + Selenium + Chrome Driver 自动化点击 评论 刷弹幕 首先说明,这篇博文仅供学习!仅供学习!仅供学习! 不要拿去做其他事,封号概不负责!!! 突发奇想 首先先说 ...

  7. Python selenium实现微博自动登录

    (一)编程环境 操作系统:Win 10 编程语言:Python 3.6 (二)安装selenium 这里使用selenium实现. 如果没有安装过python的selenium库,则安装命令如下 pi ...

  8. Python+selenium+firefox模拟登录微博并爬取数据(1

    1:环境python3.5,最新 firefox,selenium-3.14.0. 本来准备用无界面的,但是感觉效果不好看出来所以先用有界面的浏览器来做.分几次来慢慢写.这节先配置好环境. 2:安装: ...

  9. Python + Selenium实现163邮箱的自动登录和发送邮件

    运用Python和Selenium实现163邮箱的自动登录和发送邮件 初接触selenium,最近研究了一下用python和Selenium实现163邮箱的自动登录和发送邮件的实现过程,中间出现了各种 ...

最新文章

  1. Your Podfile has had smart quotes sanitised
  2. 总结jenkins Android自动打包遇到的坑
  3. 《网管员必读——网络组建》(第2版)导读
  4. python读取视频占用内存太大_Python 读取大文件内存占用检测示例
  5. python读取数据文件、并把里面的数据变成x的二维坐标_(数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换...
  6. Java Servlet response
  7. 使用JavaScript弹出Confirm对话框
  8. Android 中文API (38) —— Spinner
  9. chmod chown
  10. django组件-cookie与session
  11. 计算机的典型网络地址 特殊0.0.0.0 本机127.0.0.1 内网192.168.xxx.xxx 172.xxx.xxx.xxx 10.xxx.xxx.xxx 外网
  12. SPI总线接口与简单配置
  13. QCC3008项目实战:BlueVest体感背心
  14. NLPIR 汉语分词系统 (PyNLPIR) 学习手札
  15. ReportMachine 打印机横向
  16. MyBatis缓存机制详解
  17. android 友盟统计功能,Android应用中添加友盟统计
  18. STM32CubeIDE的一点使用技巧
  19. 【软考软件评测师】2019综合知识历年真题
  20. som神经网络聚类简单例子_神经网络学习及其模型

热门文章

  1. 图形推理1000题pdf_数字推理之图形题技巧详解
  2. 做机器视觉哪个软件好?
  3. tp5批量添加数据,批量修改数据
  4. Three.js 的 WebVR 示例解析
  5. Android开发杂草园
  6. CSU 1505——酷酷的单词
  7. Floyd(弗洛伊德)算法(邻接矩阵与邻接表实现)——暴力求解多源点最短路
  8. Android Study 之 6分钟妥妥集成微信以及支付宝支付
  9. 《数据库概论》实验(2):交互式SQL--创建表《数据库概论》 实验(3)-交互式SQL--简单查询 《数据库概论》实验(4):交互式SQL--复杂查询
  10. 刮胡子,刮出一身冷汗