找回密码
  注册[Register]
查看: 2538|回复: 12

抖音自动关注脚本,每天加粉120人左右(测试中),开个小店挣点零花

[复制链接]
发表于 2020-6-11 12:42 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

脚本的功能:
    在手机上打开一个指定用户的粉丝列表,逐个进行关注,关注之前,先判断是否女性,如是则关注,不是则返回,继续循环。(还可以加入打招呼语)
    每天关注200个女性用户,专门关注那种粉丝量不多的,这样回关率会更高。
    我测试的结果是每天能有120人回关我。
   自己再把视频内容打磨一下,开个抖音小店,挣点小钱还是可以的。
   当然,从长远来说,做爆款视频才是出路,一个视频火了几千几万粉丝都有了,但那玩意靠运气,有时不是一朝一夕就能达到的。
   这个脚本可以每天持续,无成本运行。
   还有自动点赞美女(孩子)视频功能(加了百度的人脸识别功能)这个也已实现,可以增加与粉丝的粘性互动,对于带货有好处。
   接下来我还准备做自动回复,自动评论等功能。

如果有人感兴趣,我再出教程吧。

以下是核心代码部分:
  1. #python 3.6.4
  2. #在cmd中连接手机的命令:adb connect 192.168.31.32(地址)
  3. # encoding:utf-8

  4. import os
  5. import cv2
  6. import sys
  7. import time
  8. import random
  9. from PIL import Image #pip install pillow  
  10. import diannaoshuohua

  11. os.system('adb tcpip 1314')
  12. os.system('adb connect 192.168.xx.xxx:1314')#无线连接 adb
  13. time.sleep(2)
  14. d = u2.connect('192.168.xx.xxx:1314')#否则,要在cmd界面去运行

  15. # 上传照片到电脑,截粉丝列表图片
  16. def screen():
  17.     # 截图保存在手机上
  18.     os.system('adb shell screencap -p /sdcard/screen.png')
  19.     # 传到电脑上
  20.     os.system('adb pull /sdcard/screen.png')

  21. # 截图,该粉丝详情页图片
  22. def screen3():
  23.     # 截图保存在手机上
  24.     os.system('adb shell screencap -p /sdcard/screen3.png')
  25.     # 传到电脑上
  26.     os.system('adb pull /sdcard/screen3.png')


  27. #处理照片,找到要点击的按钮的所有纵坐标值
  28. def getDistance():   
  29.     #读取图片
  30.     image = Image.open('screen.png')
  31.     #返回元组
  32.     width = image.size[0]
  33.     height = image.size[1]
  34.     #print(height,width)

  35.     for i in range(803,804):#遍历一个纵列
  36.         for j in range(0,height):
  37.             if image.getpixel((i,j))[:3] == (179, 38, 69):#如果找到符合位置的颜色点,则确定了按钮所在
  38.                 yield j   #生成器。返回所有找到的纵坐标的值

  39. def jietu(mubiaotu):
  40.     # 打开刚截取的全屏图
  41.     img = Image.open(mubiaotu)
  42.     # 定位到需要截取的地方
  43.     img = img.crop((0, 0, 1080, 1400))
  44.     # 截取成功并保存到本地
  45.     img.save('screen3_jietu.png')


  46. def as_num(x):
  47.     y = '{:.10f}'.format(x)  # .10f 保留10位小数
  48.     return y

  49. # 查找设定的图片是否包含在另一张图片里
  50. def findImg(target1,template2):#传入要查找的图片地址和名称,1为大图,2为小图,从大图里查找小图。
  51.     #读取目标图片
  52.     target = cv2.imread(target1)
  53.     #读取模板图片
  54.     template = cv2.imread(template2)
  55.     #获得模板图片的高宽尺寸
  56.     theight,twidth = template.shape[:2]
  57.     #执行模板匹配,采用的匹配方式cv2.TM_SQDIFF_NORMED
  58.     result = cv2.matchTemplate(target,template,cv2.TM_SQDIFF_NORMED)
  59.     #归一化处理
  60.     cv2.normalize(result,result, 0, 1, cv2.NORM_MINMAX, -1 )
  61.     #寻找矩阵(一维数组当做向量,用Mat定义)中的最大值和最小值的匹配结果及其位置
  62.     min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
  63.     #匹配值转换为字符串
  64.     #对于cv2.TM_SQDIFF及cv2.TM_SQDIFF_NORMED方法min_val越趋近与0匹配度越好,匹配位置取min_loc
  65.     #对于其他方法max_val越趋近于1匹配度越好,匹配位置取max_loc
  66.     strmin_val = str(min_val)
  67.     #绘制矩形边框,将匹配区域标注出来
  68.     #min_loc:矩形定点
  69.     #(min_loc[0]+twidth,min_loc[1]+theight):矩形的宽高
  70.     #(0,0,225):矩形的边框颜色;2:矩形边框宽度
  71.     cv2.rectangle(target,min_loc,(min_loc[0]+twidth,min_loc[1]+theight),(0,0,225),2)
  72.     #显示结果,并将匹配值显示在标题栏上
  73.     #cv2.imshow("MatchResult----MatchingValue="+strmin_val,target)
  74.     print ("匹配最小值为:"+as_num(float(str(min_val))))
  75.     print ('匹配最大值为:'+as_num(float(str(max_val))))


  76.     r = int((image.getpixel((min_loc[0]+23,min_loc[1]+17)))[0])

  77.     if (abs(float(as_num(float(str(max_val))))) >= 0.9) and r > 180:#如果找到符合位置的颜色点:
  78.         print ('找到符合的图片')
  79.         return True
  80.     else:
  81.         print('没有找到符合的图片')
  82.         return False
  83.     # cv2.waitKey()
  84.     # cv2.destroyAllWindows()


  85. #生成器 可以遍历 惰性计算(只能运行一次)
  86. if __name__ == '__main__':# 主函数开头


  87.     i=0
  88.     n=0
  89.     k=0
  90.     sj = random.uniform(1,4)
  91.      
  92.     for _ in range(100):#翻的页数
  93.         screen()
  94.         print('zheli')
  95.         xPosition = getDistance()
  96.         print(xPosition)
  97.         for y in xPosition:
  98.             screen()
  99.             print('2zheli')
  100.             xPosition = getDistance()
  101.             time.sleep(sj)
  102.             for y in xPosition:
  103.                 time.sleep(sj)
  104.                 os.system('adb shell input tap 495 {}'.format(y))
  105.                 print(str(y))
  106.                 time.sleep(sj)
  107.                 screen3()#个人详情页截图   
  108.                 time.sleep(sj)
  109.                 jietu('screen3.png')
  110.                 time.sleep(sj)
  111.                 image = Image.open("screen3_jietu.png")#打开个人详情页截图
  112.                 time.sleep(sj)
  113.                  
  114.                 if findImg('screen3_jietu.png','chazhaomubiao.png'):
  115.                     print('找到一位女士,即将关注!')
  116.                     os.system('adb shell input tap 550 466')#点击关注按钮
  117.                     time.sleep(sj)
  118.                     #os.system('adb shell input tap 62 151')#点击后退按钮
  119.                     os.system('adb shell input keyevent 4')
  120.                     time.sleep(sj)                  
  121.                     i=i+1
  122.                     print('已关注了'+str(i)+'位女士')
  123.                     if i == 198:
  124.                         print('本次运行已关注198人,已退出运行!')
  125.                         diannaoshuohua.shuohua('本次已关注198人,即将退出!')
  126.                         #os.system("shutdown -s -t 60")
  127.                         os.system('adb shell input keyevent 26')#power事件。
  128.                         sys.exit()
  129.                      
  130.                 else:
  131.                     print('这不是女士,即将返回!')
  132.                     n=n+1
  133.                     os.system('adb shell input keyevent 4') #点击后退按钮
  134.                      
  135.                     #os.system('adb shell input tap 62 151')
  136.             break  
  137.          
  138.                      
  139.         #翻页滑动按钮
  140.         os.system('adb shell input swipe 548 1500 540 225 511')
  141.         time.sleep(random.uniform(0.4, 0.8))
  142.         print('正在翻页。。。')
  143.         k=k+1
  144.         print(f'已翻{k}页')
复制代码


如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-6-11 12:42 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-11 12:42 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-11 13:02 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-11 13:37 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-11 13:37 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-11 13:49 | 显示全部楼层
666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2020-6-11 14:35 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-11 15:42 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-11 16:00 | 显示全部楼层
66666666,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-31 10:41 , Processed in 0.039478 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表