• Crul@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Got it, thanks for the patience :)

    It makes the job easier than reverse searching image with Yandex (which is the best method I use).

    Regarding reverse image search, this is the bookmarklet I use to lauch 5 different searches at once. On firefox you can set a keyword so I just type rev on the navbar on a tab with an image.

    pretty-print reverse image searches bookmarklet
    (function() {
        var url;
        var args = '%s';
        var imgs = document.getElementsByTagName("img");
        var imgIdx = undefined;
        if (imgs.length == 0) return;
        if (imgs.length > 1) {
            if (args.length > 1) imgIdx = parseInt(args[1]);
            if (imgIdx === undefined || isNaN(imgIdx) || imgIdx < 1 || imgIdx > imgs.length) {
                numberImgs();
                imgIdx = parseInt(prompt(`There are ${imgs.length} images, select index:`, 1));
            }
            if (isNaN(imgIdx) || imgIdx < 1 || imgIdx > imgs.length) return;
            url = imgs[imgIdx - 1].src;
        } else {
            url = imgs[0].src;
        }
        if (!url) return;
        url = encodeURIComponent(url);
        window.open("https://saucenao.com/search.php?url=" + url);
        window.open("https://lens.google.com/uploadbyurl?url=" + url);
        window.open("https://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=" + url);
        window.open("https://www.tineye.com/search?url=" + url);
        window.open("https://yandex.com/images/search?rpt=imageview&url=" + url);
    
        function numberImgs() {
            var imgs = document.getElementsByTagName("img");
            for (var img = 0; img < imgs.length; img++) {
                var parent = imgs[img].parentElement;
                if (!parent) continue;
                var numberDiv = document.createElement("div");
                numberDiv.innerHTML = 1 + img;
                numberDiv.className = "tmpImgNumberDiv";
                numberDiv.style.position = "absolute";
                numberDiv.style.padding = "2px 9px 2px 6px";
                numberDiv.style.background = "#f00";
                numberDiv.style.color = "#fff";
                numberDiv.style.zIndex = "9999";
                numberDiv.style.lineHeight = "normal";
                parent.prepend(numberDiv);
            }
            setTimeout(function() {
                var imgNumbers = document.getElementsByClassName("tmpImgNumberDiv");
                var idx = imgNumbers.length - 1;
                while (idx >= 0) {
                    imgNumbers[idx].remove();
                    idx--;
                }
            }, 5000);
        }
    })();
    

     

    One-liner:

    javascript:(function() {var url;var args = '%s';var imgs = document.getElementsByTagName("img");var imgIdx = undefined;if (imgs.length == 0) return;if (imgs.length > 1) {if (args.length > 1) imgIdx = parseInt(args[1]);if (imgIdx === undefined || isNaN(imgIdx) || imgIdx < 1 || imgIdx > imgs.length) {numberImgs();imgIdx = parseInt(prompt(`There are ${imgs.length} images, select index:`, 1));}if (isNaN(imgIdx) || imgIdx < 1 || imgIdx > imgs.length) return;url = imgs[imgIdx - 1].src;} else {url = imgs[0].src;}if (!url) return;url = encodeURIComponent(url);window.open("https://saucenao.com/search.php?url=" + url);window.open("https://lens.google.com/uploadbyurl?url=" + url);window.open("https://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=" + url);window.open("https://www.tineye.com/search?url=" + url);window.open("https://yandex.com/images/search?rpt=imageview&url=" + url);function numberImgs() {var imgs = document.getElementsByTagName("img");for (var img = 0; img < imgs.length; img++) {var parent = imgs[img].parentElement;if (!parent) continue;var numberDiv = document.createElement("div");numberDiv.innerHTML = 1 + img;numberDiv.className = "tmpImgNumberDiv";numberDiv.style.position = "absolute";numberDiv.style.padding = "2px 9px 2px 6px";numberDiv.style.background = "#f00";numberDiv.style.color = "#fff";numberDiv.style.zIndex = "9999";numberDiv.style.lineHeight = "normal";parent.prepend(numberDiv);}setTimeout(function() {var imgNumbers = document.getElementsByClassName("tmpImgNumberDiv");var idx = imgNumbers.length - 1;while (idx >= 0) {imgNumbers[idx].remove();idx--;}}, 5000);}})();
    

    The 5 searches it launches are (replacing XXXX with the image URL):

    • Google: https://lens.google.com/uploadbyurl?url=XXXX
    • Bing: https://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=XXXX
    • TinEye: https://www.tineye.com/search?url=XXXX
    • Yandex: https://yandex.com/images/search?rpt=imageview&url=XXXX
    • SauceNAO: https://saucenao.com/search.php?url=XXXX
      • Crul@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        An extension that does this with over 30 image search engines is Search By Image, a Mozilla recommended extension

        I don’t know how I missed that until now, thanks!! I will try it right now.

        I also use ImgOps.com

        Yeah, that’s what I was using for a while and what motivated me to write the bookmarklet to avoid going through it every time.

        Regarding the different searches, I foudn that they cover very different needs:

        • TinEye: usually the best when you want (almost) exact matches.
        • Yandex: probably the stronger as a general search
        • Google: in my experience, the best to “understand” the image and identify the object / subject even if there are no real matches for that image
        • Bing: you sometimes get lucky with it when the others fail
        • SauceNAO: the most convenient to find the original pages for DeviantArt, ArtStation and Twitter images.