Python使用Pyautogui和Selenium操作QQ空间进行纯自动点赞

有的时候在看QQ空间的时候,总想着把别人的赞全部点一遍,这样子自己看得舒坦,别人也会觉得你会关注着他,但是我们该怎样做一个点赞程序呢,这是一个很重要的问题。

制作准备

selenium的安装

这是一个功能很强大第三方库,我们现在依然能使用这个库做一些简单的程序,那么我们现在先看一下如何安装这个操作浏览器的第三方库,如果安装了的,我们可以跳过这一步。

首先打开运行菜单,输入命令pip install selenium,按下回车后会出现控制命令行,当出现Requirement already satisfied: selenium in c:\xxx\appdata\local\programs\python\python37\lib\site-packages (3.141.0)时候,证明我们安装成功
在这里插入图片描述
在这里插入图片描述

Chrome Driver 的安装

在Chrome的设置中查看版本号
在这里插入图片描述

按照对应的驱动在淘宝提供的镜像服务中下载我们所需要的版本
在这里插入图片描述

在这里插入图片描述
解压文件到Python安装目录下的程序目录
在这里插入图片描述

在这里插入图片描述
打开Python编辑器,测试下面代码

from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("https://blog.csdn.net/qq_45030271/article/details/108889955?spm=1001.2014.3001.5501")
time.sleep(2)
driver.close()

在这里插入图片描述
出现以上页面时,就安装成功了在打开页面后只会显示两秒

程序的实现

用下面代码,打开QQ空间

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("https://qzone.qq.com")

在这里插入图片描述
首先我们要解决登录的问题,我们直接创建一个输入框获取用户的用户名以及密码,并且输入到相应的文本框中。

在这里,我们为了保障用户的隐私,并不会主动去获得用户的账号及用户的密码,我们放出页面,等待我们的页面在扫码或者输入账号后跳转之后进行分析cookies,并且进行相应的活动。

当我们在分析地时候,可以看到相关的一些信息,我们的登录界面和我们的后面的图片在浏览器中属于不同的元素
在这里插入图片描述

相关的元素当中似乎有一个链接,那我们在新建标签页中点击这个标签看看能发现什么,是不是一个登录链接
在这里插入图片描述
在我们去登录的时候会发现说跳转链接无效
在这里插入图片描述
在我们查找NetWork的时候,我们在其中发现了一个与其很像的链接
在这里插入图片描述
在我们打开之后,我们看到了果然是其登录链接
在这里插入图片描述
我们可以输入下面的网址进行登录
https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone%26specifyurl%3Dhttp%253A%252F%252Fuser.qzone.qq.com%252F2731693351&pt_qr_app=%E6%89%8B%E6%9C%BAQQ%E7%A9%BA%E9%97%B4&pt_qr_link=http%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=http%3A//z.qzone.com/download.html&pt_no_auth=1

更改我们自己的代码,依照下图输入
在这里插入图片描述
继续改进代码,我们发现我们的链接指向有所问题,所以我们要让用户输入自己的账号,并跳转到她自己的主页。

在这里插入图片描述
在这里插入图片描述
接下来,我们就可以登录我们自己的QQ空间了
下一步,我们要实现如何在QQ空间中点赞
再次分析我们的网站源代码,我们会发现其实点赞的图片其实是使用JS实现的,那么我们可以让我们的selenium进行点击,这样我们就可以进行点赞的功能了
在这里插入图片描述
当我们真正点击时,显示的是dolike和unlike app这两个选项,我们将这个链接放进我们的电脑中进行请求后发现,这个请求是一个json格式的数据形式。
在这里插入图片描述
那么我们在这里将不会使用selenium进行点赞,我们将使用一个简单的第三方库模仿点击,来实现操作

Pyautogui实现点赞

安装

Python如何安装Pyautogui

使用

导入Pyautogui模块,增加下列代码
在这里插入图片描述
我们会看见鼠标在四周一直运动,你可以按下ESC或者将鼠标移到左上角,以退出循环

利用截图功能保存大拇指图片
在这里插入图片描述

输入下面的代码,这是一个关于检测是否有没有点赞的大拇指图片的一个自动化程序,我们使用鼠标的移动一直执行本程序,本程序会在随机选择一个位置,是的我们的每次移动的位置都是不同的,这样也不会是的QQ认为我们是在用相关的程序刷代码,那么我们当检测到我们图片的位置后,交给我们的程序去点击,这样,我们的程序就能一直使用了。

在这里插入图片描述

完整代码

from selenium import webdriver
import easygui,time,pyautogui,random
from tkinter import messagebox

QQnum = easygui.enterbox(title = "请输入QQ号",msg = "请输入QQ号")
driver = webdriver.Chrome();
driver.maximize_window()
driver.get("https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone%26specifyurl%3Dhttp%253A%252F%252Fuser.qzone.qq.com%252F"+QQnum+"&pt_qr_app=%E6%89%8B%E6%9C%BAQQ%E7%A9%BA%E9%97%B4&pt_qr_link=http%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=http%3A//z.qzone.com/download.html&pt_no_auth=1")

try:
	button=driver.find_element_by_class_name("face")
	# print(button)
	button.click()
except:
	messagebox.showwarning(title='提示', message='自动登录错误,请手动进入')
else:
	pass

time.sleep(2)

while True:
	try:
		pyautogui.scroll(-100,x=random.randint(403,1311#移动x坐标随机选择
			),y=random.randint(256,747)#移动y坐标随机选择
			)
		time.sleep(0.1)
		location = pyautogui.locateOnScreen('THUMBS.png')
		if location != None:
			pyautogui.click(location) 
		time.sleep(0.1)
	except Exception as e:
		pass
	else:
		pass

转载说明

如需转载,请附上原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

地摊主老袁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值