Kiver 发表于 2021-9-19 23:03
乜你真系有数下佢有几多?
不是我数,我写了个 js 脚本,自动下载图片,
如果图片的命名不是数字,就会自动加上 数字编号。我移动目录的时候,看到最大的序号只有94张,全选已统计,确实只有94张。。。
Kiver 发表于 2021-9-19 23:03
乜你真系有数下佢有几多?
不过咧,楼主 最后访问2013-3-15 20:59。八年没回来,估计也不会回来了。我这。。。
HQS 发表于 2021-9-20 12:38
不是我数,我写了个 js 脚本,自动下载图片,
如果图片的命名不是数字,就会自动加上 数字编号。我移动目 ...
为下图片,专门写个程序,果然高手
Kiver 发表于 2021-9-20 13:27
为下图片,专门写个程序,果然高手
姐姐仔,别这样呀,你是在讽刺我没事找事折腾吗?(开玩笑地问 )
反正浏览器有油猴插件,有时候逛论坛,看到喜欢的图片,还要一张一张去点,觉得麻烦。
特别是某些帖子专门放图片的论坛,手动去点,点多了就像偷懒。
而且代码就那几行。。。
// ==UserScript==
// @name 18粤漫社获取正文图片
// @author HQS
// @namespace http://tampermonkey.net/ 名称空间,比如 https://gitee.com/****
// @description描述:获取图片地址,得到我想要的图片
// @version 0.0.0.1
// @time 2021-09-17 21:09:15
// @match *://gomicx.net/*
// @match *://www.gomicx.net/*
// @grant 授予/none
// ==/UserScript==
(function() {
'use strict';
//一个对象,存储页面图片数量和下载的数量
var monitorObj = {
imgTotal: 0,
imgLoaded: 0
}
//创建a标签,赋予图片对象相关属性,并插入body
var createA = function (obj,i) {
var a = document.createElement("a");
a.id = obj.id;
a.target = "_blank";//注意:要在新页面打开
a.href = obj.url; //获取地址
a.filename = obj.filename; //想要修改图片的名称,来自:https://www.cnblogs.com/otsf/p/11512040.html
a.download = obj.filename; //下载
document.body.appendChild(a);
}
//获取页面的图片
var ID_postlist = document.getElementById("postlist");
//帖子有好几种,每个用户的都不一样,所以代码 主要取决于第 8 子类的类型 " div class="t_fsz""
//var children_0 = ID_postlist.children.children.children.children.children.children.children.children.children;
//var children_1 = ID_postlist.children.children.children.children.children.children.children.children;
//document.getElementById("postlist").children.children.children.children.children.children.children.children
//document.getElementById("postlist").children.children.children.children.children.children.children.children.getElementsByTagName("img")
//1、纯图片,没文字
var pattl = document.getElementsByClassName("pattl");
var img_number = pattl.getElementsByTagName("img");
//document.getElementById("postlist").children.children.children.children.children.children.children.children.getElementsByTagName("img").attributes["file"].value
//console.log("img的数量是:"+ img_number.length);
//2、有文字,其实也就是标题。然后一个图片的文件名,接显示一个图片,重复的列表,这种有单独的类"pattl"
//3、有说明文字、描述,图片为配图
//创建每个图片对象的对应a标签
var qq = 1;
var fruits = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
for (var i = 0; i < img_number.length;i++){ // 这里要减一,因为 img 的父级标签“ignore_js_op”中,最后一个是 “br”,不减一,就会报错
//这里是为了过滤掉 哪些 鼠标悬停在预览图上方的图片地址是,出现的旋转预览图的按钮小图标
//if (img_number.width <= 20 || img_number.height <= 20) {
//continue;
//}
//var domain_name0 = img_number.currentSrc; //获取网址的前辍 比如:“http://bi-si888.xyz/”
var domain_name1 = img_number.baseURI; //获取网址的前辍 比如:“http://bi-si888.xyz/”
if (img_number.attributes["file"] != undefined ) {
var domain_name2 = img_number.attributes["file"].value; //获取图片的非域名地址 比如:“data/attachment/forum/202008/13/153241mv5vbcxd51uvdzdx.jpg.thumb.jpg”
var filename = img_number.attributes["alt"].value; //获取图片的原文件名 比如:“微信图片_20200813152956.jpg”
//document.getElementById("postlist").children.children.children.children.children.children.children.children.getElementsByTagName("img").attributes["file"].value
var file_name = filename.substring(0,filename.indexOf("."));
if(!/^\d+$/.test(file_name)){ //判断文件名是不是数字,不是的话自动加 数字序号排列
if( qq <10 ){
if( file_name==="cover" || file_name==="Cover" || file_name==="COVER" ){
filename = "00"+ filename;
}
else{
filename = "0"+ qq +" "+ filename;
}
}
else{
filename = qq +" "+ filename;
}
qq++;
}
else{
if(file_name === "0" ){ //如果图片名字刚好等于 “0.jpg”时,加一个“0”,变成“00.jpg”
filename = "0"+ filename;
}
else if( fruits.indexOf(file_name) != "-1"){ //如果是1.jpg之类的文件名,自动加 0,变成 01.jpg
filename = "0"+ filename;
}
}
var obj = {
id: "img_" + i,
filename: filename,
url: domain_name2
}
//过滤掉不属于这几种类型的图片
if (["JPG", "JPEG", "PNG","GIF"].indexOf(obj.url.substr(obj.url.lastIndexOf(".")+1).toUpperCase()) < 0) {
continue;
}
//这里是为了去掉知乎用户头像的图片,头像大小是50*50
//if (children_2.children.width <= 50 || children_2.children.height <= 50) {
//continue;
//}
//统计图片数量
monitorObj.imgTotal++;
createA(obj,i);
//console.log("是3整数 "+ i +" :"+ filename);
}
}
//开始下载图片
for (var j = 0; j < img_number.length; j++) {
if (document.getElementById("img_" + j)) {
//重点:触发a标签的click事件
document.getElementById("img_" + j).click();
monitorObj.imgLoaded++; //统计已下载的图片数量
}
}
//console.log("已下载:"+monitorObj.imgLoaded + "/" + monitorObj.imgTotal);
})();
HQS 发表于 2021-9-21 06:20
姐姐仔,别这样呀,你是在讽刺我没事找事折腾吗?(开玩笑地问 )
反正浏览器有油猴插件,有时候 ...
几行代码都是高手~~
Kiver 发表于 2021-9-21 08:39
几行代码都是高手~~
如果是高手,就不会是我这种只有一个月才几千块的狗样了。别人都是两三万工资起步的
以前买它贴纸贴在床头,现在都撕不下来。
全部都是手绘?应该唔是官方图鉴哦
final version so charming and deadly
近年官网都补左唔少图鉴啰
allen859113 发表于 2021-10-4 11:14
全部都是手绘?应该唔是官方图鉴哦
就系官网图鉴黎噶
946553285 发表于 2010-7-20 00:41
沒幾個認識的...
甘慢慢认识啰