笨办法刷抖音-----记一次失败的强行装逼

2024-03-01 14:50

本文主要是介绍笨办法刷抖音-----记一次失败的强行装逼,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阅前注意

看完估计我会被各位云大佬狂喷,毕竟CSDN是一个专业的技术交流平台。对我来讲这也是第一次在CSDN上发博客也是我第一个博客,发这个博客的目的不是为了炫耀(都失败了还秀个P),而是当做自己在技术方面的成长日记和补遗录,对我来讲自己的经历和想法通过文章发表在网上在让自己看着时的确有种“给自己设了个台阶,从而可以向上走,还能借着这个台阶看到更美的人”的感觉。如果有过来的学长看完后能给我提一下对有助于发展的建议(批判也可,勿为喷而喷)我将不胜感激。

背景

大一寒假期间到了哥哥的公司体验人生的第一份工作—主播招募,听起来很diao,实际上就是8个小时整天拿着公司手机在小屋子里刷抖音,给公司的平台物色主播,对符合条件的用户(xiao jie jie)(什么心数不能大于20,粉丝不能超过2000)发各种优雅(rouma)的话术,就跟那些一天打几百个电话的销售一样,一天下来简直无聊到死。
自己作为计算机专业的学生学过一点python,也知道一些自动化操作的实例,就想到能不能给自己写一个脚本代替自己刷抖音,思考过程如下:
能够自动判断如"❤<20,关注<500,粉丝<2000"而且能认出视频类型(小姐姐的自拍),前者涉及爬虫知识,然而我爬虫也就到selenium摘网站评论的级别,后者让我想到了百度的API人脸识别,但是我根本搞不懂要怎么把人脸识别的代码结合到Python上,很显然这一太智能的部分我只能先放下去了= =
但是公司还有一个要求是刷到一定时间之后一定要把之前私信过的用户全部取关掉,似乎有可能实现,于是我去b站搜自动刷抖音的视频,然后发现了一个词:adb,再上网百度发现还有另一个方法:monkeyrunner

动手尝试

本着试遍万路不怕难(si zu bu pa kai shui tang)的精神,一番查下来,我发现我要动用的工具居然涉及到Android开发的领域了(做嵌入式的瑟瑟发抖),这是旁话,一番百度搜到AndroidSDK然后找链接,adb装好了,然后在装monkeyrunner的时候我踩到了我怎么也百度不到的一个大坑:
SWT folder ‘…\framework\x86_64’ does not exist. Please set ANDROID_SWT to…
好吧,再查一下。终于找到了标准答案:

https://blog.csdn.net/caihongdao123/article/details/73801642

正当我满怀欣喜的在cmd窗口输入monkeyrunner时,弹出的文字又让我吐了一口老血:
monkeyrunner-26.0.0-dev.jar不是内部或外部文件…
(各种xx文件缺失的说明)
开什么玩笑,我上一目录的文件也创好了,在monkeyrunner.bat里也把文件路径定好了,难道真就不给我继续搞事的机会?
冷静下来,想到之前查的文章中解决问题的方法,最后我把目光锁定在:call "%java_exe%" -Xmx512m "-Djava.ext.dirs=%frameworkdir%;%swt_path%" -Dcom.android.monkeyrunner.bindir=..\platform-tools -jar %jarpath% %*
platform-tools?,当时用梯子上网站分别下了只带了monkeyrunner,只带了adb的两个带sdk-windows字样的包,好吧,对我来说原来问题就是:
把带adb的那个包中platform-tools文件夹拷进带monkeyrunner包的目录里,呵呵哒,问题解决了(真想吐槽下,既然用monkeyrunner要用到adb开发包,开发Android Studio的人员为什么不搞一个把这两个包放一起的版本?)
另外关于adb,这里要提一位和我跳了相似的坑的哥们:

https://www.cnblogs.com/muxinyue/p/4301678.html

配好变量,cmd输入monkeyrunner,终于出现了久等的Jython输入界面,但是连续乱搞了4个小时,之前的热情已经被消磨得差不多了,能看到手机在自动刷抖音就算满意了吧,bat怎么批处理代码不想管,直接把从某位大牛的代码搬到pycharm的集成终端运行:

monkeyrunner
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection()#获取连接的设备
device.wake()#唤醒屏幕
MonkeyRunner.sleep(1)
device.drag((400,500),(400,0),0.1,10)#上划解锁
MonkeyRunner.sleep(1)
device.startActivity(component='com.ss.android.ugc.aweme/.main.MainActivity')#打开抖音app
MonkeyRunner.sleep(1)
print("connected")
# #无限循环每隔10秒自动刷下一个视频
while True:device.drag((400,500),(400,0),0.3,10)MonkeyRunner.sleep(10)print("again")pass

代码自动地一行行运行下去,突然间手机屏幕亮了,自动打开了抖音,正当我以为奇迹发生的时候:在这里插入图(是的后面句子能打,最后一句是我自己加上去的,为了快点看效果我把刷新时间调成了5秒)述
(是的后面句子能打,最后一句是我自己加上去的,为了快点看效果我把刷新时间调成了5秒)

这下好了,无论我怎么重运代码,查百度,乃至问相关Q群,都没毫无结果,我的耐心已经彻底没了,终于我放弃了。

后记

当时选择计算机专业完全是因为自己过去是个gameaddicter,当时觉得这个专业就是学完后去找公司当写网页的程序员(当时居然以为网页是C写的,现在才知道想的只是前端的冰山一角),进去以后各门课也是随随便便的应对,随着和学长的一些交流和自己的网络搜索能力才对自己的专业有些了解,到终于发现自己专业的主方向时已经接近寒假了。
现在自己的假期已经过了二十几天,学校方面发了一些计算机组成原理,C语言和数学的书作为学生的假期食粮,自己的python是在入大学前学的,学完了爬虫以后一度膨胀起来,觉得C语言在现在电脑应用层都见不到影子一直觉得没用,经常也和学长争论一些学哪种语言的问题,后来直到临近假期,才逐渐了解自己忽略底层硬件实现知识去琢磨高级功能是多么费力不讨好的事情。
然而自己除了看书还是有一些“希望自己眼前的东西马上就能了解的想法”,捣鼓了一大阵之后,知道了什么反汇编,逆向工程(想知道游戏的dll文件是怎么写成的但是在notepad上却是一堆怎么百度软件也解不出来的代码),现在因为这份小职的关系又知道了安卓软件开发用的一些软件,再想想以前连概念都懵的继电器,单片机,嵌入式,机器学习和人工智能,觉得计算机这个行业真的不比我想的简单,不能单纯地全拿一个“程序员”的概念衡量。
之后十几天可能还是要老老实实去啃学校发的C++primer电子书,还有学习交流群的嵌入式书籍以及学好英语了,再多余的时间还可以试试用logicism把《编码的奥秘》中的计算机电路做个还原。

这篇关于笨办法刷抖音-----记一次失败的强行装逼的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762833

相关文章

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

STM32 ADC+DMA导致写FLASH失败

最近用STM32G070系列的ADC+DMA采样时,遇到了一些小坑记录一下; 一、ADC+DMA采样时进入死循环; 解决方法:ADC-dma死循环问题_stm32 adc dma死机-CSDN博客 将ADC的DMA中断调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Bu

(function() {})();只执行一次

测试例子: var xx = (function() {     (function() { alert(9) })(); alert(10)     return "yyyy";  })(); 调用: alert(xx); 在调用的时候,你会发现只弹出"yyyy"信息,并不见弹出"10"的信息!这也就是说,这个匿名函数只在立即调用的时候执行一次,这时它已经赋予了给xx变量,也就是只是

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

jmeter之仅一次控制器

仅一次控制器作用: 不管线程组设置多少次循环,它下面的组件都只会执行一次 Tips:很多情况下需要登录才能访问其他接口,比如:商品列表、添加商品到购物车、购物车列表等,在多场景下,登录只需要1次,我们期望的是重复执行登陆后面的接口来做压测,这就和事务相关,例如 事务1: 登录—>添加购物车 事务2: 登录—>购物车列表 事务3: 登录—>商品列表—>添加购物车 … 一、仅一次控制器案例 在

pythons强行杀掉线程的方法

使用ctypes强行杀掉线程 import threading import time import inspect import ctypes def _async_raise(tid, exctype): """raises the exception, performs cleanup if needed""" tid = ctypes.c_long(tid) if n

一次生产环境大量CLOSE_WAIT导致服务无法访问的定位过程

1.症状 生产环境的一个服务突然无法访问,服务的交互过程如下所示: 所有的请求都是通过网关进入,之后分发到后端服务。 现在的情况是用户服务无法访问商旅服务,网关有大量java.net.SocketTimeoutException: Read timed out报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后