python实现自动点赞

时间:2020-02-26 15:33:53   收藏:0   阅读:186

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

3. 安装包
这里利用了清华的镜像,不用镜像容易下载失败。
下载的opencv-contrib-python和opencv_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()

 注意:很多人学Python过程中会遇到各种烦恼问题解决不了。为此小编建了个Python全栈免费答疑交流.裙 : 624440745不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一起相互监督共同进步!
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!