吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1242|回复: 11
收起左侧

[求助] JS大佬看看这个控制台相关的问题

[复制链接]
zoenbo 发表于 2020-12-13 18:31
本帖最后由 zoenbo 于 2020-12-13 20:32 编辑

我想在网页端看那种图片阅读的网站,页面是滚动向下继续阅读,有没有办法在控制台输入代码把这些加载了的图片打包下载?目前有一段姑狗图书上可以用的代码,可不可以把这个改成咨询图书联盟可用的呢?

http://book.ucdrs.superlib.net/search?Field=1&channel=search&sw=%D2%F4%C0%D6

下边的代码放到控制台后,滚动阅读后到最后一张,输入finish()就可以把图片都打包成book.zip
[JavaScript] 纯文本查看 复制代码
var zipJSUTL='https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.js';
var fileSaverURL='https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js';
function loadLibraries(srcURL) {
    var script = document.createElement("script"); // Make a script DOM node
    script.src = srcURL // Set it's src to the provided URL
    document.head.appendChild(script); // Add it to the end of the head section of the page (could change 'head' to 'body' to add it to the end of the body section instead)
}


function addBlob(source,ind){
    var xhr = new XMLHttpRequest(); 
    xhr.open("GET", source); 
    xhr.responseType = "blob";//force the HTTP response, response-type header to be blob
    xhr.onload = function() 
    {
        if(blobs[ind]==undefined)
            blobs[ind] = xhr.response;//xhr.response is now a blob object
    }
    xhr.send();   
}
var res=[];
var blobs=[]
scrollBar=document.querySelector('.overflow-scrolling');
scrollBar.addEventListener('scroll', scrollFnc);
function scrollFnc(){
        imges=document.querySelectorAll('img')
        for(var i=1;i<imges.length;i++){
        //console.log(imges[i].width)
    if(imges[i].width >500){
       // console.log(imges[i].src);
                res.push(imges[i])
        var regex = new RegExp(/pg=\w\w\d+/i);
        str=imges[i].src;
        x=str.match(regex)
        if(x==null){
            console.log('!!!!!!!!!'+str);
            continue;
        }
        x=x[0];
        pageNo= x.substring(5)/1;
        console.log(pageNo);
        addBlob(str,pageNo);
    }
        }

}

loadLibraries(zipJSUTL);
loadLibraries(fileSaverURL);

function finish(){
    var zip= new JSZip();
    for(var i=0; i<blobs.length;i++){
        if(blobs[i]==undefined)
            continue;
        zip.file('images/'+i+'.png', blobs[i], {base64: true});
    }
    zip.generateAsync({type:"blob"})
    .then(function(content) {
    // see FileSaver.js
    saveAs(content, "book.zip");
});
    
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

fortytwo 发表于 2020-12-13 19:35
不能正常访问
 楼主| zoenbo 发表于 2020-12-13 20:12
本帖最后由 zoenbo 于 2020-12-13 20:14 编辑

大佬,是图书联盟的访问不了吗?可以在图书咨询联盟里随便找一本试读的就行
http://book.ucdrs.superlib.net/s ... amp;sw=%D2%F4%C0%D6
hebeijianke 发表于 2020-12-13 21:06
 楼主| zoenbo 发表于 2020-12-13 21:12
hebeijianke 发表于 2020-12-13 21:06
不是可以直接PDF下载吗

可以,我想用这个控制台的方法,要的是图片,浏览器插件的方法也会,就是想用控制台实现一下。如果没有直接PDF下载的网站,控制台就有用了。
or6522 发表于 2020-12-13 22:13
jszip在这个图书联盟里面加载不进去。
图片地址的list已经拿到了。JSZip is not defined。。。。
尴尬
 楼主| zoenbo 发表于 2020-12-13 22:17
本帖最后由 zoenbo 于 2020-12-13 22:22 编辑
or6522 发表于 2020-12-13 22:13
jszip在这个图书联盟里面加载不进去。
图片地址的list已经拿到了。JSZip is not defined。。。。
尴尬

这个JSZIP可能得扶梯子 https://github.com/Stuk/jszip

https://wws.lanzouj.com/iA2Hijc87hi
大佬,我把那两个JS打包了
or6522 发表于 2020-12-13 22:19
zoenbo 发表于 2020-12-13 22:17
这个JSZIP可能得扶梯子

感觉文档详情页面禁止js文件写入了。我在文档列表页面用都好着呢。
 楼主| zoenbo 发表于 2020-12-13 22:23
or6522 发表于 2020-12-13 22:19
感觉文档详情页面禁止js文件写入了。我在文档列表页面用都好着呢。

那如果用到其他同类网站好使不呢?
or6522 发表于 2020-12-13 22:31
zoenbo 发表于 2020-12-13 22:23
那如果用到其他同类网站好使不呢?

那铁定是不好使的。
第二十三行。是获取滚动区域。每个网站滚动区域的class不一样,这里就得改。
整体.png
26行,一般的都是img标签来显示图片,但是这个图书联盟就是用的<input type="image">这里获取方法也要改。
input.png
31到41是获取src之后拿到具体的图片地址。图书联盟就是省略了host的相对地址。拼上host直接就是真实地址
srac.png
56行是正式开始下载,jszip没法加载,我就没具体看。但是看样子第一个参数是真实地址的样子。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 09:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表