python自动点赞功能的实现思路

所属分类: 脚本专栏 / python 阅读数: 806
收藏 0 赞 0 分享

1.思路

通过pyautogui可以实现鼠标点击、滚动鼠标、截屏等操作。由此功能实现打开页面,进行点赞。
aircv可以从大图像获得小图像的位置,利用pyautogui截屏得到的图片,可以在页面获取到每一个👍的位置,进行点击。
当前页面点击完之后,通过pyautogui滚动鼠标的功能继续向下翻。从而实现循环。

 2. 参考

pyautogui自动化控制鼠标和键盘操作

aircv 大图找小图 并识别小图中信息

3. 安装包

这里利用了清华的镜像,不用镜像容易下载失败。
下载的opencv-contrib-pythonopencv_python版本也要带上。如果已经下载了不对版本,可以使用pip uninstall 删除。

 pip install aircv
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python==3.4.2.16 
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv_python==3.4.2.16 
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui

4. 准备工作

需要把这个截下来图片放在代码的同目录下

很多人学Python过程中会遇到各种烦恼问题解决不了。为此小编建了个Python全栈免费答疑交流.裙 : 624440745

5. 代码

import cv2
import aircv as ac
import pyautogui
import time
import os
#获取赞所在的位置
def mousepos(img1,img2): 
imsrc = ac.imread(img1) # 原始图像
imsch = ac.imread(img2) # 带查找的部分
match_result=ac.find_all_template(imsrc, imsch,0.80)
#提取出中心点的横纵坐标
points=[]
for i in match_result:
points.append((i['result']))
return points
def begin():
#截屏
time.sleep(1)
img1 = pyautogui.screenshot()
if os.path.exists('1.png'): # 如果文件存在
# 删除文件,可使用以下两种方法。
os.remove('1.png') 
img1.save('1.png')
#由于匹配相似度不同,为了减少错误,把纵坐标不在点赞的那一条的删除
pos=mousepos('1.png','test.png')
for i in pos[:]:
if i[0]!=pos[0][0]:
pos.remove(i)
print(pos)
#点击
for i in pos:
pyautogui.moveTo(i[0], i[1])
pyautogui.click(clicks=10, interval=0.2)
time.sleep(1)
#滚动鼠标
pyautogui.scroll(-300, x=100, y=100)
#这一段仅仅是根据所在位置打开页面,这一段可以不要,自己打开点赞页面也行。
def openpage ():
pyautogui.click(x=1596 ,y=1063,clicks=1, interval=2)
pyautogui.click(x=1539 ,y=272,clicks=1, interval=2)
pyautogui.click(x=896, y=581,clicks=1, interval=2)
if __name__ == '__main__':
openpage();
for i in range(20): #根据自己的需要设置次数
begin()
更多精彩内容其他人还在看

pandas的qcut()方法详解

这篇文章主要介绍了pandas的qcut()方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

从列表或字典创建Pandas的DataFrame对象的方法

这篇文章主要介绍了从列表或字典创建Pandas的DataFrame对象的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas.DataFrame的pivot()和unstack()实现行转列

这篇文章主要介绍了pandas.DataFrame的pivot()和unstack()实现行转列,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

pandas中的series数据类型详解

这篇文章主要介绍了pandas中的series数据类型详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas 时间格式转换的实现

这篇文章主要介绍了pandas 时间格式转换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

python中时间、日期、时间戳的转换的实现方法

这篇文章主要介绍了python中时间、日期、时间戳的转换的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas进行时间数据的转换和计算时间差并提取年月日

这篇文章主要介绍了pandas进行时间数据的转换和计算时间差并提取年月日,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法

这篇文章主要介绍了详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

python和c语言的主要区别总结

在本篇文章里小编给各位整理了关于python和c语言的主要区别的相关知识帖内容,有需要的朋友们学习阅读下。
收藏 0 赞 0 分享

选择Python写网络爬虫的优势和理由

在本篇文章里小编给各位整理了一篇关于选择Python写网络爬虫的优势和理由以及相关代码实例,有兴趣的朋友们阅读下吧。
收藏 0 赞 0 分享
查看更多