• Crul
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I think there is some misunderstanding… there are a lot of ways of downloading a list of URLs. For videos I use yt-dlp.

    I didn’t know about IDM/IDX, I asume they are Internet Download Manager and Xtreme Download Manager, right? From what I see those are independent programs and not Firefox add-ons (correct me if I’m wrong).

    What I find weird is that, what Bazzacuda can achieve if I have multiple tabs with i.imgur.com/.../...jpg URLs does not work if I change the jpg extensions with mp4. But I’m probably missing something (or not explaining myself properly).

    Thanks!

      • Crul
        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.

        If the page has more than 1 images, it tries to print a number on each one so you can specify which one you want to search… but that feature doesn’t work very well. Removing that, the script would be much more simpler.

        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
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            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 found 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.