Skip to content

Instantly share code, notes, and snippets.

@daijinload
Last active April 23, 2017 13:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daijinload/31db32c0c7725d5cd96e1e8d083b50a3 to your computer and use it in GitHub Desktop.
Save daijinload/31db32c0c7725d5cd96e1e8d083b50a3 to your computer and use it in GitHub Desktop.
連番の画像をダウンロードするとかね。
function aaa_dl(uri, filename) {
filename = filename || 'file';
var link = document.createElement('a');
link.download = filename;
link.href = uri;
link.click();
}
var preStr = 'http://example.com/gazou';
var sleepNum = 2000; // アクセス間隔を2秒ごとにする。
var _sleepNum = 0;
for (var i = 0; i < 30; i++) {
_sleepNum += sleepNum;
(function(_i) {
setTimeout(function() {
var num = ('000' + _i).slice(-3);
var str2 = preStr + num + '.jpg';
console.log(str2);
aaa_dl(str2, (num + '.jpg'));
}, _sleepNum);
})(i);
}
// -------------------- list ver
var list = [
"https://example.com/001.jpg",
"https://example.com/002.jpg"
];
function aaa_dl(uri, filename) {
filename = filename || 'file';
var link = document.createElement('a');
link.download = filename;
link.href = uri;
link.click();
}
var sleepNum = 2000; // アクセス間隔を2秒ごとにする。
var _sleepNum = 0;
for (var i = 0; i < list.length; i++) {
_sleepNum += sleepNum;
(function(_i) {
setTimeout(function() {
var num = ('000' + _i).slice(-3);
var str2 = list[_i];
console.log(str2);
aaa_dl(str2, (num + '.jpg'));
}, _sleepNum);
})(i);
}
// ----------------------------------------------------------------
// おそらく完全体
// 画像関係のタグに書いてある画像リンクを一括取得した後に、絞り込みを行い、ターゲットを取得する処理
function downloadMain(list) {
var aaa_dl = function (uri, filename) {
filename = filename || 'file';
var link = document.createElement('a');
link.download = filename;
link.href = uri;
link.click();
}
var sleepNum = 2000; // アクセス間隔を2秒ごとにする。
var _sleepNum = 0;
for (var i = 0; i < list.length; i++) {
_sleepNum += sleepNum;
(function(_i) {
setTimeout(function() {
var num = ('000' + _i).slice(-3);
var str2 = list[_i];
console.log(str2);
aaa_dl(str2, (num + '.jpg'));
}, _sleepNum);
})(i);
}
}
function getLinks(list, name) {
var results = [];
for(var i = 0; i < list.length; i++) {
results.push(list[i][name]);
}
return results;
}
function getRegFilter(reg) {
return function(elementStr) {
return elementStr.match(reg);
};
}
function getUnMatchFilter(str) {
return function(elementStr) {
return elementStr.match('^(?!.*' + str + ').+$');
};
}
// main 関数
(function() {
var imgTags = document.getElementsByTagName('img');
var aTags = document.getElementsByTagName('a');
var list = getLinks(imgTags, 'src')
.concat(getLinks(aTags, 'href'))
.filter(getRegFilter(/---Z/))
.filter(getUnMatchFilter('thumb'))
.sort();
downloadMain(list);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment