mikf / gallery-dl

Command-line program to download image galleries and collections from several image hosting sites
GNU General Public License v2.0
11.4k stars 931 forks source link

"Nested" download links? #5841

Open Iamg1004 opened 2 months ago

Iamg1004 commented 2 months ago

'Sup y'all! I'm archiving some kemono users with the following config:

    "kemonoparty":
    {
            "metadata": true,
            "directory": ["{category}", "{service}", "{username} {user}", "{date:%Y-%m-%d} {id} {title[:150]}"],
            "filename": "{filename}.{extension}",

            "postprocessors": [{
                "name": "metadata",
                "event": "post",
                "filename": "Full title + Content.txt",
                "format": "{title} {content}\n"
            }]
    },

But, as it turns out, many times in {content} there's links to other sites (Mainly reddit, google drive, and in my case, soundgasm). Is there any way, either in the config.json or the [OPTIONS], to download the content in those links automatically when calling gallery-dl? And, in reddit's case, any way to download specifically the soundgasm links (Like a double-nested link)?

Ps: I know I can extract the links as a txt document, as it has been mentioned on other questions how:


"postprocessors":[
    {
        "name": "metadata",
        "event": "post",
        "filename": "[{id}] Links.txt",
        "filter": "embed.get('url') or re.search(r'(?i)(redgifs|atomicloli|gfycat|google|drive|onedrive|1drv|mega|xgf|k00|koofr|gigafile|mediafire|porn3dx|gofile|dropbox|soundgasm|reddit)', content)",
        "mode": "custom",
        "format": "{embed[url]}"
    },
]

My question per se is if there's a way for gallery-dl to inmediately detect the link, and download it right there and then, as if it were written in the command prompt, inside the folder of the post it's already downloading.

Hrxn commented 2 months ago

You can use the `exec post-processor to read (and download) the links from the file created by the metadata post-processor, I think..

https://gdl-org.github.io/docs/configuration.html#postprocessor-options https://gdl-org.github.io/docs/configuration.html#exec-command https://gdl-org.github.io/docs/configuration.html#exec-event