美文网首页
简单粗暴获取腾讯动漫图片url

简单粗暴获取腾讯动漫图片url

作者: HiddenLogic | 来源:发表于2017-03-28 17:06 被阅读0次

    以下的测试是在chrome上进行的,以火影忍者为例。

    该方法可行的根本原因只有一个:js中定义了全局变量DATA,代码本身并没有什么技术含量。
    

    操作方法:拷贝代码块中的js,输入指定网站,在chrome中进入开发者模式(F12 or Ctrl+shift+i),进去Console,将代码全部拷贝过去,按下回车就可以了,然后你会看到浏览抽风边开边关,不要惊慌,静静的等待文件被下载完。文件中为图片url地址。

    注意事项:1,官网进入的url与示例中的有差别。后缀略有区别,没具体试过官网展示中的url是不是也是强规则,感觉差别不大。实在不行你可以猜中间的域名,如火影忍者为naruto,海贼王为onepiece。2,输入的网站一定要是同域名下的,否则会出现跨域问题。

    var i=0;
    var  windowOne;
    var  urlArray=[];
    //入口域名很重要,初始可以为http://ac.qq.com/naruto/v/cid/1
    var orginUrl="http://ac.qq.com/naruto/v/cid/";
    //获取当前总集数
    var lastUrl= document.querySelector("#catalogueList li:last-child a").href;
    var total=parseInt(lastUrl.substring(lastUrl.lastIndexOf("/")+1))+1;
    function getUrl() {
    i++;
    if(i<total){
    windowOne=window.open(orginUrl+i);
    setTimeout(function(){
    var c=new Object();
    c=windowOne;
    let flag=true;
    try{
    if(windowOne.DATA){};
    }catch(e){
    console.log(i+"=====");
    flag=false;
    }
    if(flag){
    for (let picture of windowOne.DATA.picture){
    urlArray.push(picture.url);
    }
    urlArray.push("|||")
    console.log(urlArray.length+"=========")
    if(i%50==0||i==total-1){ //每50集的url放一个txt
    doSave(urlArray, "text/latex", i+"naruto.txt");
    urlArray=[];
    }
    }
    windowOne.close();
    getUrl();
    },300);
    }
    }
    getUrl();
    function doSave(value, type, name) {
    var blob;
    if (typeof window.Blob == "function") {
    blob = new Blob([value], {type: type});
    } else {
    var BlobBuilder = window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder;
    var bb = new BlobBuilder();
    bb.append(value);
    blob = bb.getBlob(type);
    }
    var URL = window.URL || window.webkitURL;
    var bloburl = URL.createObjectURL(blob);
    var anchor = document.createElement("a");
    if ('download' in anchor) {
    anchor.style.visibility = "hidden";
    anchor.href = bloburl;
    anchor.download = name;
    document.body.appendChild(anchor);
    var evt = document.createEvent("MouseEvents");
    evt.initEvent("click", true, true);
    anchor.dispatchEvent(evt);
    document.body.removeChild(anchor);
    } else if (navigator.msSaveBlob) {
    navigator.msSaveBlob(blob, name);
    } else {
    location.href = bloburl;
    }
    }  ;
    

    相关文章

      网友评论

          本文标题:简单粗暴获取腾讯动漫图片url

          本文链接:https://www.haomeiwen.com/subject/rgajottx.html