LINE 的贴图大部分都很可爱,很萌萌二次元,所以就想保存下来放到 QQ 、Telegram 上用。

  一个一个的保存太麻烦,很久之前写了个脚本来下载。可是就在几月前,我那脚本和一百四十多小时的 BOTW 存档就因为 SSD 掉盘被某东的小哥带走了。满满当当的 MLC SSD 就这么变成了空荡荡的 TLC SSD ……

  不过这都是很久以前的事情了,今天我又碰到一套好看的贴图想存下来,就 Google 看看有没有更简单的保存方法,然后看到 GitHub 上面有个把 LINE 贴图转到 Telegram 的工具,看一下源码发现了 LINE 的贴图包下载链接,可以直接下载。明明商店页面的图片还要验 Referrer 的说…

http://dl.stickershop.line.naver.jp/products/0/0/1/贴图ID/iphone/stickers@2x.zip

  但这样也要手动改 url 再粘贴回车,还是很麻烦。

  想到用油猴子应该可以在页面上加个下载按钮,可是我之前没接触过 js ,甚至连 js 的全名都拼不全……

  好在搜索引擎是万能的,帮我解决了这些问题。不过还是有一些地方不明白,好多东西真是用到的时候才觉得少啊。

  后来 Greasyfork 上的小伙伴(@seccomun)说这个链接有问题,给了更好的贴图链接和絵文字的链接。

下面是一些链接

  1. 静态贴图

    https://sdl-stickershop.line.naver.jp/stickershop/v1/product/贴图ID/iphone/stickers@2x.zip

  2. 动态/声音贴图

    https://sdl-stickershop.line.naver.jp/stickershop/v1/product/贴图ID/iphone/stickerpack@2x.zip

  3. 絵文字

    http://dl.stickershop.line.naver.jp/sticonshop/v1/贴图ID/sticon/iphone/package.zip?v=1

  4. 主题包

    主题包的链接可以从主题页面的主题封面或预览图片中获取,比如像是这个主题

    • 页面链接:https://store.line.me/themeshop/product/d93c073e-fcca-440b-93f6-e7e45a7645fa

    • 封面: https://shop.line-scdn.net/themeshop/v1/products/d9/3c/07/d93c073e-fcca-440b-93f6-e7e45a7645fa/4/WEBSTORE/icon_198x278.png?__=20161019

    • 预览图:https://shop.line-scdn.net/themeshop/v1/products/d9/3c/07/d93c073e-fcca-440b-93f6-e7e45a7645fa/4/ANDROID/ja/preview_001_720x1232.png

    然后下载地址就是:

    • Android: https://shop.line-scdn.net/themeshop/v1/products/d9/3c/07/d93c073e-fcca-440b-93f6-e7e45a7645fa/4/ANDROID/theme.zip
    • iOS: https://shop.line-scdn.net/themeshop/v1/products/d9/3c/07/d93c073e-fcca-440b-93f6-e7e45a7645fa/4/IOS/theme.zip

  

截图

下面是脚本内容,也可以去 Greasyfork 安装。

LINE Sticker Download.user.jsInstall
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// ==UserScript==
// @name LINE Sticker Download
// @name:zh-CN LINE Sticker Download
// @name:ja LINE Sticker Download
// @include https://store.line.me/stickershop/product/*
// @include https://store.line.me/emojishop/product/*
// @include https://store.line.me/themeshop/product/*
// @namespace https://veltlion.github.io/line-sticker-download
// @icon https://secure.gravatar.com/avatar/6b0d31e600391e6f15240323202f5482
// @version 1.7
// @description Add download button for line sticker/emoji/theme store.
// @description:zh-cn 在 LINE STORE 的 Sticker/Emoji/Theme 页面添加下载按钮。
// @description:ja LINE STORE にダウンロードボタンを追加する。
// @author 空
// @grant GM_download
// ==/UserScript==

(function(){
'use strict';

var path, id, btn, btn2, btnstr, link2, filename, link, lang ;
path = window.location.pathname;
id = path.replace(/\/(emoji|sticker)shop\/product\/([a-f\d]+).*/, '$2');
//var lang = navigator.language;
lang = document.documentElement.lang;
btnstr = 'Download';
if (lang.indexOf('zh') > -1) btnstr = '下载';
else if (lang.indexOf('ja') > -1) btnstr = 'ダウンロードする';
if (path.indexOf('stickershop') > -1) {
if ($('span').hasClass('MdIcoAni_b') || $('span').hasClass('MdIcoPlay_b') ||$('span').hasClass('MdIcoSound_b') ||
$('span').hasClass('MdIcoFlashAni_b') || $('span').hasClass('MdIcoFlash_b')) {
link = 'https://sdl-stickershop.line.naver.jp/stickershop/v1/product/' + id + '/iphone/stickerpack@2x.zip';
} else {
link = 'https://sdl-stickershop.line.naver.jp/stickershop/v1/product/' + id + '/iphone/stickers@2x.zip';
}
btn = '<li><button class="MdBtn01P01" id="download" style="background: #33b1ff" >'
+ btnstr
+ '</button></li>';
$('.mdCMN38Item01Ul').find('li:eq(0)').remove();
$('.mdCMN38Item01Ul').prepend(btn);
btn = '<li class="mdCMN08Li" style="list-style-type: none">'
+ '<a class="MdBtn01 mdBtn01" id="download" style="background: #33b1ff">'
+ '<span class="mdBtn01Inner">'
+ '<span class="mdBtn01Txt">' + btnstr + '</span>'
+ '</span></a></li>';
} else if (path.indexOf('emojishop') > -1) {
link = "http://dl.stickershop.line.naver.jp/sticonshop/v1/" + id + "/sticon/iphone/package.zip?v=1";
btn = '<li class="mdCMN08Li" style="list-style-type: none">'
+ '<a class="MdBtn01 mdBtn01" id="download" style="background: #33b1ff">'
+ '<span class="mdBtn01Inner">'
+ '<span class="mdBtn01Txt">' + btnstr + '</span>'
+ '</span></a></li>';
$('.mdCMN08Ul').find('li:eq(0)').remove();
$('.mdCMN08Ul').prepend(btn);
} else {
id = $("div.mdCMN08Img>img").attr("src").replace(/https\:\/\/shop.line-scdn.net\/themeshop\/v1\/products\/(.+)\/WEBSTORE\/.+/, '$1');
link = 'https://shop.line-scdn.net/themeshop/v1/products/' + id + '/ANDROID/theme.zip';
link2 = 'https://shop.line-scdn.net/themeshop/v1/products/' + id + '/IOS/theme.zip';
btn = '<li class="mdCMN08Li" style="list-style-type: none">'
+ '<a class="MdBtn01 mdBtn02" id="download" style="background: #00b84f">'
+ '<span class="mdBtn01Inner">'
+ '<span class="mdBtn01Txt">' + btnstr + ' (Android)</span>'
+ '</span></a></li>';
btn2 = '<li class="mdCMN08Li" style="list-style-type: none">'
+ '<a class="MdBtn01 mdBtn01" id="download2" style="background: #33b1ff">'
+ '<span class="mdBtn01Inner">'
+ '<span class="mdBtn01Txt">' + btnstr + ' (iOS)</span>'
+ '</span></a></li>';
$('.mdCMN08Ul').find('li:eq(0)').remove();
$('.mdCMN08Ul').find('li:eq(0)').remove();
$('.mdCMN08Ul').prepend(btn2);
$('.mdCMN08Ul').prepend(btn);
}

if ($('div').hasClass('mdMN05Btn')) {
//$('.MdBtn01').remove();
$('.mdMN05Btn').prepend(btn2);
$('.mdMN05Btn').prepend(btn);
}


filename = document.title.replace(/(.+) (-|–) .+/g, '$1');
filename = filename.replace(/\"|\\|\/|\:|\*|\?|\<|\>|\|/g, "");
var file = { url: link, name: filename + '.zip' };
var file2 = { url: link2, name: filename + ' (iOS).zip' };

$('body').on('click', '#download2', function(){ var result = GM_download(file2); });
$('body').on('click', '#download', function(){ var result = GM_download(file); });

}());

LINE