Javascript的谷歌图像撷取打破了更新

Javascript for google image ripping broke with update

本文关键字:更新 谷歌 图像 Javascript      更新时间:2023-09-26

我抓了几个小脚本,把它们放在一起,把谷歌的新图像布局变成旧的,然后把图像替换成完整尺寸的版本。一直工作到上周。不确定服务器端发生了什么变化。

(function() {
    // Get list of all anchor tags that have an href attribute containing the start and stop key strings.
    var fullImgUrls = selectNodes(document, document.body, "//a[contains(@href,'/imgres?imgurl'x3d')][contains(@href,''x26imgrefurl=')]");
    //clear existing markup
    var imgContent = document.getElementById('ImgContent');
    imgContent.innerHTML = "";
    for(var x=1; x<=fullImgUrls.length; x++) {
        //reverse X to show images in correct order using .insertBefore imgContent.nextSibling
        var reversedX = (fullImgUrls.length) - x;
        // get url using regexp
        var fullUrl = fullImgUrls[reversedX].href.match( /'/imgres'?imgurl'=(.*?)'&imgrefurl'=(.*?)'&usg/ );
        // if url was fetched, create img with fullUrl src
        if(fullUrl) {
            newLink = document.createElement('a');
            imgContent.parentNode.insertBefore(newLink , imgContent.nextSibling);
            newLink.href = unescape(fullUrl[2]);
            newElement = document.createElement('img');
            newLink.appendChild(newElement);
            newElement.src = decodeURI(fullUrl[1]);
            newElement.border = 0;
            newElement.title = fullUrl[2];
        }
    }
    function selectNodes(document, context, xpath) {
        var nodes = document.evaluate(xpath, context, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
        var result = [];
        for (var x=0; x<nodes.snapshotLength; x++) {
            result.push(nodes.snapshotItem(x));
        }
        return result;
    }
})();

Google将图像表持有人的'ImgContent' id更改为稍微模糊的内容。一个快速的改变使一切都恢复了正常。我忽略了简单的东西,把一个简单的问题复杂化了。多亏了darvidson的支持,他最终指出了我所缺少的东西。

脚本不会像bobby说的那样工作。

试试这个用户脚本库中的油脂猴子脚本。

rip谷歌图像搜索:- http://userscripts.org/scripts/show/111342