在淘宝唱片店的所有宝贝页面高亮的重要乐队。
目前高亮的乐队包括:
- 自己认识的乐队
- MMA: Metalmusicarchives 网站拥有高分专辑的乐队
- PA: Progarchives 网站拥有高分专辑的乐队
- JMA: Jazzmusicarchives 网站拥有高分专辑的乐队
- RYM: Rateyourmusic 网站每个乐队评分最高的专辑降序排列,选 Top5000 的乐队
(可根据自己的需要修改代码中的options变量。)
左侧均为乐队名,PA、RYM右侧会提示乐种。
除了RYM的提示框右侧文字会链接到RYM的歌手页面,其他提示框暂时都链接到AllMusic的乐队名搜索界面。
点击提示框的任何一个部位会复制宝贝描述中预测的专辑名到系统的粘贴板(可能不准确)。
双击提示框会将当前提示框的乐队名到系统的粘贴板。
另外检索完毕后右侧会出现 "清除记录/查看结果/下一页" 的悬浮菜单。
建议或问题私信: https://music.163.com/#/user/home?id=19053994
自动抓取
经过长时间使用后,高亮的结果大体上还是准确的 (尽管会有很多误报情况)。又介于逛大型淘宝店的过程比较繁琐费时 (8000+宝贝以上的店铺,通常逛完要花费大约一小时的时间,并且常常会怀疑自己遗漏了一些专辑,导致过两天打算买的时候又从头逛一次的情况出现)。
所以新的策略是把一家淘宝店的所有宝贝很快地翻一遍,记录下其中高亮的专辑,再到另外一个单独的页面查看。
步骤如下:
- 打开一家淘宝店,点击全部宝贝。
- 点击价格升序。(因为淘宝如果筛选条件不变的话,只会显示大概2000个宝贝,也就是2000/24[一页宝贝数量]≈83页后就会不停的重复相同的内容。这里需要不停地改变最低价格,防止这种情况发生。脚本已经自动处理好了这种情况,如果当前页的最高价格大于当前设置的最低价格的话,下一次翻页的时候会将最低价格提高。)
- 一页一页翻,这个过程可以手动翻 (和平常逛一样),也可以借助按键精灵之类的软件。(本来这个功能是内置在脚本里的,但是由于淘宝的反爬虫机制过于下流,刷到一定页数就会疯狂出现滑动验证码,类按键精灵的软件可以使用 "Pulover's Macrco Creator",操作很傻瓜,随便录制两下翻页的动作然后一直播放即可,这样好像被淘宝弹验证码的概率会小一点,如果一直被弹也可以每次翻页后朝出现验证码的位置空划一下。)
- 全部翻完点击 "查看结果" 按钮会跳转到另一个页面,在里面可以查看刚刚记录下的唱片信息。
如何添加自己认识的乐队
将喜欢的乐队组织成如下格式:["乐队1","乐队2","乐队3"..."乐队n"]
例如:["Pink Floyd","The Beatles","David Bowie"]
而后复制到代码的40行的bands变量中:
var bands = ["Pink Floyd","The Beatles","David Bowie"];
就可以了。
乐队比较多的情况
可以手动扒,只以网易云为例。
1) 先打开网页端网易云的个人歌单(只显示1000首,歌多的话需要新建一些小歌单)
需要点一下歌曲标题、时长、歌手那栏,不然代码运行会出错。
按F12
打开Chrome的控制台(Console),然后在里面输入如下代码:
var str = "";
var nodes = document.querySelector("table.m-table").querySelectorAll("tr");
for (var i = 1; i < nodes.length; i++) {
var node = nodes[i].querySelectorAll("td")[3].querySelector("div");
var dusts = node.querySelectorAll("div");
for (var j = 0; j < dusts.length; j++) dusts[j].innerHTML = "";
str += node.textContent + "\n";
}
console.log(str);
按回车就会得到一长串乐队名了:
注意代码报错时大概率是没有聚焦歌曲列表,点一下就好了。
2) 上网随便找个在线去重/文字替换网站:www.jsons.cn/txtreplace/
把弄出来的乐队名放在里面,点一下去重就能得到一份不重复的乐队名单
3) 再用替换文字工具把换行符 \n
替换成 ","
最后首尾格式调调,把乐队名复制到代码里就行了。
屏蔽的乐队
因为常见词很多,屏蔽了一些乐队名,包括:
删除乐队:
"Om": "Psychedelic Rock",
"Man": "Jam Band",
"James": "Alternative Rock",
"Heart": "Pop Rock",
"Love": "Psychedelic Pop",
"Can": "Krautrock",
"Legend": "Neo-Prog",
"Down": "Stoner Metal",
"Come": "Indie Rock",
"Low": "Slowcore",
"Live": "Alternative Rock",
"Kate": "Folk Rock",
"Time": "Progressive Rock",
"T": "Neo-Prog",
"X": "Punk Rock",
"Stars": "Indie Pop",
"Perfect": "Hard Rock",
"MIKE": "Experimental Hip Hop",
"The Band": "Folk Rock",
"Gun": "Hard Rock",
"Earth": "Progressive Rock",
"The Sound": "Post-Punk",
"Dark": "Heavy Psych",
"Death": "Technical Death Metal",
"Them": "British Rhythm & Blues",
"Old": "Industrial Rock",
"Sugar": "Alternative Rock",
"Road": "Hard Rock",
"Sam": "Southern Soul",
"Hell": "Doom Metal",
"Lewis": "Ambient Pop",
"Richard": "British Folk Rock",
"Stone": "Thrash Metal",
"Iron": "Contemporary Folk",
"Jack": "Chamber Pop",
"Between": "Krautrock",
"Dawn": "Melodic Black Metal",
"Believe": "Neo-Prog",
"God": "Industrial Metal",
"Jane": "Progressive Rock",
"Echo": "Post-Punk",
"WAR": "Soul",
"Rage": "Power Metal",
"Faces": "Boogie Rock",
"Heaven": "Heavy Metal",
"Sky": "Eclectic Prog",
"Fear": "Hardcore Punk",
"If": "Jazz-Rock",
"Mom": "Electropop",
"Y": "Hard Rock",