python实现自动点赞
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教程项目可拿,,一起相互监督共同进步!
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
python实现自动点赞的更多相关文章
- Python实现QQ自动点赞
用Python做一个QQ自动点赞神器,上代码: 1 def QQZan(qq): 2 browser = webdriver.Chrome() 3 browser.maximize_window() ...
- Python简单实现自动评论、自动点赞、自动关注脚本
一些哔哔: 今天的这个脚本,是一个别人发的外包,交互界面的代码就不在这里说了,但是可以分享下自动评论.自动点赞.自动关注.采集评论和视频的数据是如何实现的 开发环境 python 3.8 运行代码py ...
- Python爬虫学习--用Python结合Selenium实现 明日之子节目直播时为自己喜欢的选手自动点赞拉票!!!
声明:本脚本纯属娱乐,请勿用来非法点赞拉票,任何使用不当造成的后果自行承担. 闲话: 明日之子第二季开始好久了,作者一直再追,特别喜欢里面那个酷酷的小哥-蔡泽明.前两天晋选9大厂牌,采取的是直播的形式 ...
- python奇淫技巧之 抽屉 自动点赞
前言 嘿,各位小伙伴晚上好呀,今天又给大家带来干货内容啦,今天带来的是,如何自动登录抽屉,并且点赞 原计划打算,是不打算使用selenium的,但是因为要涉及点赞,所以免不了登录,但是我又被啪啪打脸了 ...
- Python3实现自动点赞抖音小姐姐
什么是抖音 抖音是2016年9月上线的一款音乐创意短视频社交软件,是一个专注年轻人的15秒音乐短视频社区.用户可以通过这款软件选择歌曲,拍摄15秒的音乐短视频,形成自己的作品. 效果 抖音经常能刷到很 ...
- 如何手动写一个Python脚本自动爬取Bilibili小视频
如何手动写一个Python脚本自动爬取Bilibili小视频 国庆结束之余,某个不务正业的码农不好好干活,在B站瞎逛着,毕竟国庆嘛,还让不让人休息了诶-- 我身边的很多小伙伴们在朋友圈里面晒着出去游玩 ...
- 第14.16节 爬虫实战2:赠人玫瑰,手留余香! request+BeautifulSoup实现csdn博文自动点赞
写在前面:本文仅供参考学习,请勿用作它途,禁止转载! 在<第14.14节 爬虫实战准备:csdn博文点赞过程http请求和响应信息分析>老猿分析了csdn博文点赞处理的http请求和响应报 ...
- Atitit qzone qq空间博客自动点赞与评论工具的设计与实现
Atitit qzone qq空间博客自动点赞与评论工具的设计与实现 Qzone发送评论的原理 首先,有个a标签, <a class="c_tx3" href="j ...
- 使用Sphinx为你的python模块自动生成文档
Sphinx是一个可以用于Python的自动文档生成工具,可以自动的把docstring转换为文档,并支持多种输出格式包括html,latex,pdf等. 安装 创建一个sphinx项目 下面的命令会 ...
随机推荐
- (分块暴力)Time to Raid Cowavans CodeForces - 103D
题意 给你一段长度为n(1 ≤ n ≤ 3·1e5)的序列,m (1 ≤ p ≤ 3·1e5)个询问,每次询问a,a+b,a+2b+...<=n的和 思路 一开始一直想也想不到怎么分,去维护哪些 ...
- ii
char a[10], b[10], c[10], d[10],e[10],f[10],g[10],h[10]; scanf("%s %s %s %s", a, b, c, d); ...
- JZOJ4238 纪念碑
Description 2034年,纪念中学决定修建校庆100周年纪念碑,作为杰出校友的你被找了过来,帮校方确定纪念碑的选址. 纪念中学的土地可以看作是一个长为n,宽为m的矩形.它由n* m个1*1的 ...
- testng使用详解
一.testng 介绍 TestNG 是一个测试框架,其灵感来自 JUnit 和 NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便. TestNG 设计涵盖所有类型的测试:单元,功能, ...
- volatile梳理
volatile 可见性也就是说一旦某个线程修改了该被volatile修饰的变量,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,可以立即获取修改之后的值. 在Java中为了加快程序的运行 ...
- Warshall算法求传递闭包及具体实现
传递闭包 在数学中,在集合 X 上的二元关系 R 的传递闭包是包含 R 的 X 上的最小的传递关系. 例如,如果 X 是(生或死)人的集合而 R 是关系“为父子”,则 R 的传递闭包是关系“x 是 y ...
- SpringBoot2.x整合JDBC及初始化data.sql和schema.sql脚本
今天在使用SpringBoot2.x版本整合JDBC时遇到了一些问题:由于我之前一直用SpringBoot1.5的版本,所以直接在yml里按照1.5的版本配置了属性,没想到2.x直接不能用了.首先是数 ...
- cpp二进制与整数之间的转换的几种方式记录
PS: 程序为cpp代码,最重要理解操作. 方法一: n进制方法,也可以解决转换为其他进制问题. /*将整数转化为二进制的string 输出*/ string convert(int num) { s ...
- Mongodb 3.2.8: 集群环境搭建
简介 MongoDB是一种面向文档的数据库管理系统,由C++撰写而成,以此来解决应用程序开发社区中的大量现实问题.2007年10月,MongoDB由10gen团队所发展.2009年2月首度推出. ## ...
- ugligy 转
3.配置gulpfile.js 3.1.基本使用 JavaScript 1 2 3 4 5 6 7 8 var gulp = require('gulp'), uglify = require ...