-1

私はいくつかの小さなスクリプトをつかみ、それらを一緒に投げてグーグルの新しい画像レイアウトを取り、古いものに戻し、次に画像を取り、それらをフルサイズバージョンに置き換えました。先週頃までうまくいきました。サーバー側で何が変わったかわからない。

(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;
    }
})();
4

2 に答える 2

0

bobbyが言ったようにスクリプトは機能しません。

ユーザースクリプトリポジトリからこのグリースモンキースクリプトを試してください。

Google画像検索をリッピングする:-http://userscripts.org/scripts/show/111342

于 2011-12-04T04:09:28.753 に答える
0

Google は、画像テーブル ホルダーの「ImgContent」ID をもう少しわかりにくいものに変更しました。迅速な変更により、すべてが再び機能しました。簡単なことを見過ごして、簡単な問題を複雑にしてしまった。有効化してくれた darvids0n のおかげで、彼は最終的に私が欠けていたものを指摘してくれました。

于 2011-10-10T00:25:23.990 に答える