AutoIt 脚本小试——刷网易云音乐歌单
AutoIt 确实是个很强大的脚本工具。
如果早知道有这个,当初是怎么都不会去学易语言的 (๑•̀ω•́๑)
这是个简单脚本 = ๛ก(ー̀ωー́ก)
用来增加歌单播放次数和个人的听歌量。
原理不过是模拟鼠标点击去播放歌单,循环完几支歌单跳到私人FM去播放音乐。
为什么要用这么笨的方法呢?实在是因为不会反编译,不然就直接用C++写个外挂hook关键函数很快就搞定了,大神一定就是这么做的
可我不是,只能这样了。 (,,•́.•̀,,)
#Region ;**** 参数创建于 ACNWrapper_GUI **** #PRE_icon=C:\windows\syswow64\SHELL32.dll|-44 #PRE_UseX64=y #PRE_Change2CUI=y #PRE_Res_requestedExecutionLevel=None #EndRegion ;**** 参数创建于 ACNWrapper_GUI **** #include <AutoItConstants.au3> Local $version = 1; ;version 为1,网易云2.0以上版本 ;version 为0,网易云1.9.X版本 ;不同版本,坐标略有不同,故区分 ;启动主线程 Main() Func Main() ;循环执行N次,N为要刷的歌单数量 Local $N = 8 For $i = 1 To $N ;检查网易云状态,并激活窗口 CheckWind() ;歌单播放 Playlist($i) ;执行间隔3秒 Sleep(1000 * 3) If $i = $N Then ;私人FM播放 PlayFM() ;关闭窗口 WinClose("[CLASS:OrpheusBrowserHost]") Exit EndIf Next EndFunc Func PlayFM() ;移动鼠标到左侧列表位置 If($version) Then MouseMove(50, 136, 0) Else MouseMove(50, 126, 0) EndIf ; 鼠标滚轮往上 12 次,到达列表顶部 MouseWheel($MOUSE_WHEEL_UP, 12) ;停止歌单播放 Send("{MEDIA_STOP}") Sleep(500) ;打开其它页面 If($version) Then MouseClick($MOUSE_CLICK_LEFT, 50, 400) Else MouseClick($MOUSE_CLICK_LEFT, 50, 268) EndIf Sleep(1000) ;点击私人FM If($version) Then MouseClick($MOUSE_CLICK_LEFT, 50, 138) Else MouseClick($MOUSE_CLICK_LEFT, 50, 126) EndIf Sleep(1000) ;播放下一首 Send("{MEDIA_NEXT}") Sleep(1000) EndFunc ;==>私人FM播放 Func Playlist($i) ;获取窗口坐标 ;Local $aPos = WinGetPos("[ACTIVE]") ;移动鼠标到左侧列表位置 If($version) Then MouseMove(100, 500, 0) Else MouseMove(100, 428, 0) EndIf ; 鼠标滚轮往上 12 次,到达列表顶部 MouseWheel($MOUSE_WHEEL_UP, 12) Sleep(500) $tVar = Floor($i /3) If($tVar) Then ; 鼠标滚轮往下滚动,每次100像素 MouseWheel($MOUSE_WHEEL_DOWN, $tVar) If($version) Then MouseMove(100, 500 + 32*$i - 100 * $tVar, 0) Else MouseMove(100, 428 + 26*$i - 100 * $tVar, 0) EndIf ; Else If($version) Then MouseMove(100, 500 + 32*$i, 0) Else MouseMove(100, 428 + 26*$i, 0) EndIf ; EndIf MouseClick( $MOUSE_CLICK_RIGHT) Sleep(500) Send("{ENTER}") EndFunc ;==>歌单播放 Func CheckWind() ;检查网易云是否启动 If WinExists("[CLASS:OrpheusBrowserHost]") Then ;MsgBox($MB_SYSTEMMODAL, "", "已经启动") Else ;未启动则手动启动 Run("cloudmusic.exe") ;等待窗口出现. WinWaitActive("[CLASS:OrpheusBrowserHost]", "", 10) Sleep(3000) EndIf ;显示窗口 WinSetState("[CLASS:OrpheusBrowserHost]", "", @SW_SHOW) ;最大化窗口 WinSetState("[CLASS:OrpheusBrowserHost]", "", @SW_MAXIMIZE ) ;激活窗口 WinActivate("[CLASS:OrpheusBrowserHost]") EndFunc ;==>状态检查
脚本在以下环境测试通过:
Win7 64位 + 网易云2.1.2原版
Win Server 2008 64位 + 网易云1.9.4绿色版
AutoIt 脚本小试——刷网易云音乐歌单的更多相关文章
- Python数据可视化:网易云音乐歌单
通过Python对网易云音乐华语歌单数据的获取,对华语歌单数据进行可视化分析. 可视化库不采用pyecharts,来点新东西. 使用matplotlib可视化库,利用这个底层库来进行可视化展示. 推荐 ...
- 【Python3爬虫】网易云音乐歌单下载
一.目标: 下载网易云音乐热门歌单 二.用到的模块: requests,multiprocessing,re. 三.步骤: (1)页面分析:首先打开网易云音乐,选择热门歌单,可以看到以下歌单列表,然后 ...
- python爬取网易云音乐歌单音乐
在网易云音乐中第一页歌单的url:http://music.163.com/#/discover/playlist/ 依次第二页:http://music.163.com/#/discover/pla ...
- 抓取QQ音乐歌单
抓取QQ音乐歌单1.通过分析歌曲下载路径来分析所需参数: 通过比较, 得出其中歌曲下载url与参数vkey是可变的,歌曲下载url中可变得值是请求歌单返回的歌曲数据的strMediaMid参数, 而v ...
- 【java+selenium】网易云音乐刷累计听歌数
背景应该是在去年的时候,刷知乎看到一个问题,大概是说怎么刷网易云音乐个人累计听歌数,然后有一个高赞回答,贴了一段js代码,直接在浏览器console执行就可以了.当时试了下,直接一下子刷了有好几万.悲 ...
- 使用网易云音乐,丢掉QQ音乐吧
我是一个听音乐的重度用户,基本上每天大约有三分之一的时间里我在使用网易云音乐去听音乐.包括工作写代码的时候,跑步的时候,去上班的途中我都去听.首先需要声明的是,在这里我不是故意的去抹黑其他的音乐产品, ...
- 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
CloudReader 一款基于网易云音乐UI,使用GankIo及豆瓣api开发的符合Google Material Desgin阅读类的开源项目.项目采取的是Retrofit + RxJava + ...
- 爬虫实战(二) 用Python爬取网易云歌单
最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛 本着 "用技术改变生活" 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序 这篇 ...
- 用其他音乐源帮帮网易云,Ubuntu听歌利器
镜像文章 1.用其他音乐源帮帮网易云,Android听歌利器 2.用其他音乐源帮帮网易云,Windows听歌利器 众所周知,国内只有网易云推出了Linux的客户端,在Listen 1并不十分好用的基础 ...
随机推荐
- Linux下tomcat的安装与项目部署
最近在linux下安装了jdk,为了圆我以前的心愿,把tomcat也安装了,顺便部署个项目,也算是小又成就感 废话不说了,直接上过程 一.下载安装对应的jdk,并配置Java环境. 有关jdk的安装请 ...
- .net 网站应对压力的一些方案总结
开年比较空,抽时间写个博文,总结下自己工作里的一些应对网站访问压力的技术方案. 自己项目现在大概一天50W的pv.已从前端到后端的顺序总结下自己用的一些方案. 一. 前端页面: 1.首先减少资源的大小 ...
- oracle_plseq客户端中文乱码
1.登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出 输入sql语句select * from V$NLS_PARAMETERS查看字符集,查看第一行val ...
- 用jdk在cmd下运行编译java程序
1.首先通过创建一个txt文档,将java代码写入txt文档中保存 2.将保存好的HelloWorld.txt文档重命名为HelloWorld.java文件. 3.打开windows中的"命 ...
- Java List集合特有方法程序用法
package Collection; /* Collection |--List:元素是有序的,元素可以重复.因为该集合体系有索引 | |--ArrayList:底层的数据结构使用的是数组结构 特点 ...
- devexpress设置皮肤、字体以及折叠菜单、伸缩Panel的实现
1.为了体现系统的个性化,越来越多的系统增加了换肤功能.这里例举一个devexpress实现换肤的案例,效果图对比: 第二张图片中更换了皮肤与字体. 2.皮肤数据源绑定代码: //循环添加皮肤名称 f ...
- dev简单实现柱状图,曲线图
1.数据源代码: DataTable dt = new DataTable(); dt.Columns.Add("A"); dt.Columns.Add("B" ...
- erlang erl文件编译的三种脚本
方案1:命令行 #!/bin/sh #file name: erl.sh #author: stars #time:2015.06.05 #eg: ./erl.sh hello.erl start 2 ...
- Winfrom 程序打包及安装
前言 近期被公司外派到驻空调厂的项目组,支援一个TCP相关的程序对接.主要是做智能门禁系统,然后主要是统计出实时的进出人数. 我这边能作为服务端,门禁设备作为客户端,整个流程并不算复杂,根据协议来写, ...
- CSS常用字体Unicode 编码
在 CSS 中设置字体名称,直接写中文是可以的.但是在文件编码(GB2312.UTF-8 等)不匹配时会产生乱码的错误. 为此,在 CSS 直接使用 Unicode 编码来写字体名称可以避免这些错误. ...