Log in | Register
Forum > Site Discussion > Thread

Downloading all videos from a Tiktok page

Apr 24, 2023 - edited Nov 12, 2023 - permalink

There are an increasing number of female bodybuilders/fitness influencers etc who have large Tiktok accounts, which is nice but a pain to download all the clips from individually (especially if you want the higher-quality logoless versions). There are a number of programs online to bulk-download complete Tiktok profiles, none of which actually work at the moment as far as I can tell (due partially to some API changes).

I found a workaround to download the logoless versions of all the clips in the best quality available, using yt-dlp (an improved branch of youtube-dl), and figured I'd share it for anyone else wanting to download a large amount of videos at once.

First, you'll need yt-dlp. Just get the release binary, yt-dlp.exe, and stick it in a folder.

It has an option to download all videos from a Tiktok account when given the account page, but since that isn't working, you'll need to give it a list of the individual video addresses instead.

I'm going to use Jordyn Rankin's tiktok, https://www.tiktok.com/@int1ator, as an example. Go to the page in a web browser and keep scrolling down until all the videos are shown. You can probably middle-click and drag down a bit to auto-scroll, although sometimes Tiktok's scroll gets stuck and you have to go back up a bit and down again to keep displaying more videos.

Now you need to copy the links for all the videos, you can try complicated ways involving highlighting them, but the best way I've found is the simple browser add-on/extension Link Gopher. With that installed, you can click the Link Gopher icon, pick Extract all Links (or Extract Links by Filter and specify something like "https://www.tiktok.com/@int1ator/video/"), and then copy all the links that are in a format like "https://www.tiktok.com/@int1ator/video/7205356866853997870"

Create a new text file in the same folder as yt-dlp.exe called batch.txt (just the name I use for it), paste the list of video addresses into it and save.

Type cmd into the address bar at the top of the File Explorer window with your folder open and hit the Enter key, it should bring up a command prompt set to that folder.

The most basic command to run from the command prompt to download all the videos at this point is:

yt-dlp -a batch.txt

...But I hate the filename format that uses (the caption and hashtags for the videos, which is a mess).

I recommend pasting a command like this instead (adjusted for whatever profile you're downloading, the "Jordyn Rankin" name isn't required and is just what I wanted at the beginning of the filenames in this case):

yt-dlp -a batch.txt -o "%(uploader)s/Jordyn Rankin %(uploader)s %(id)s.%(ext)s" 2> errorlog.txt

That will download the videos into an "account name" subfolder with the name you specified in the filename followed by the account name and video ID (which is just the numeric part of an address like "https://www.tiktok.com/@int1ator/video/7205356866853997870"). It will also create another text file called "errorlog.txt", containing the IDs of clips it wasn't able to download properly (you can usually follow up and throw the addresses for those into something like https://snaptik.app/ to download them individually). A lot of times for the ones it couldn't download properly, yt-dlp will have downloaded the logo-included version, which can be replaced by the manual download.

Hopefully someone makes a more automated browser extension or something at some point. If anyone knows of a better way currently, I'd love to hear about it.

EDIT: Adjusted my command string so the clips go into a subfolder by account name, and the account name is in the filenames automatically, per autechre. Still uses my preferred filename format.

EDIT2: The above command line will download all the videos in the best quality available, which in many cases will be using a video codec other than H.264/AVC, meaning you can't upload them to GWM. An alternate command line to make sure you get the H.264 versions instead is:

yt-dlp -a batch.txt -f "[vcodec = h264]" -o "%(uploader)s H.264/Jordyn Rankin %(uploader)s %(id)s.%(ext)s" 2> errorlog.txt

which will put them in a subfolder called "[tiktok name] H.264\". Generally I run both command lines, so that I have both the higher-quality versions, and the ones suitable for uploading here.

Apr 24, 2023 - permalink

Thanks for your effort. I was familiar with yt-dlp but didn't know how to easily get all the video links to use in a text file.

I will try it out.

Apr 24, 2023 - permalink

jDownloader2 can also grab tiktok videos. As before, scroll to the bottom of the users page, highlight all the clips, right-click and select Copy. JD2 will parse all the links and you can download the videos with or without logos.

[deleted]
Apr 25, 2023 - permalink

I feel this is so much work to do just for a logo less tik tok?

Apr 25, 2023 - permalink

I used Snaptik. Just drop the link to the video in search and it will pull it up for download.

Apr 25, 2023 - edited Apr 25, 2023 - permalink

I feel this is so much work to do just for a logo less tik tok?

This isn't for logoless Tiktok. This is for downloading accounts full of hundreds or thousands of logoless Tiktok videos at once. If I only wanted a couple of them, then yes I would just throw the links into Snaptik. I literally mentioned that in the post, but maybe I should make it more clear at the beginning for single downloads.

jDownloader2 can also grab tiktok videos.

I'll definitely give jDownloader2 a try, but currently I don't see how to choose between different quality levels? It just seems to be defaulting to the logoless 576x1024 versions, which is good (and needed if you want to upload them here without converting), but for archival purposes the 720x1280 HEVC versions that are sometimes available (such as most of what yt-dlp downloads for @int1ator) are better. I'll do some more testing later and might end up rewriting the opening post to use that instead.

Apr 25, 2023 - permalink

for archival purposes the 720x1280 HEVC versions that are sometimes available

Nice. I didn't know there were higher quality versions available. I'll give YT a go

Apr 25, 2023 - permalink

Here's my alterations to chipperpip's script

yt-dlp.exe -a batch.txt -o "c:/temp/%(uploader)s/%(upload_date)s_%(uploader)s_%(id)s.%(ext)s" 2> errorlog.txt

It creates a folder under C:\Temp (you can change this to your folder of choice) with the name of the TikToker and downloads the files in the format Date_Tiktoker_VideoID

Apr 25, 2023 - permalink

Here's my alterations to chipperpip's script

yt-dlp.exe -a batch.txt -o "c:/temp/%(uploader)s/%(upload_date)s_%(uploader)s_%(id)s.%(ext)s" 2> errorlog.txt

It creates a folder under C:\Temp (you can change this to your folder of choice) with the name of the TikToker and downloads the files in the format Date_Tiktoker_VideoID

Very nice! What is the purpose of "2> errorlog.txt"

Apr 25, 2023 - edited Apr 25, 2023 - permalink

What is the purpose of "2> errorlog.txt"

The IDs of the videos that weren't able to be downloaded properly will get offscreened in the console output if the list is long enough, that part writes the errors out to a text file instead so you can see them afterwards.

Apr 25, 2023 - permalink

I adjusted my command string in the opening post a bit, based on autechre's suggestions while still using my preferred naming format.

You can tell autechre is oldschool because he's afraid of spaces in filenames :)

Apr 26, 2023 - edited Apr 26, 2023 - permalink

You can tell autechre is oldschool because he's afraid of spaces in filenames :)

DOS and spaces do not go together :)

The version I posted mostly replicates what JD2 spits out, so I'm just keeping it consistent for my sanity ;)

[deleted]
Apr 27, 2023 - permalink

there is a bot on telegram that does amazingly well! just paste the link there and it sends you the video without the logos! his name is: tik tok downloader @downloader_tiktok_bot

Nov 12, 2023 - permalink

There's another weird thing I found out about; if you go directly to the address of an account like this: https://www.tiktok.com/@int1ator

You might notice hovering over first page or so of video thumbnails that their links all show as just https://www.tiktok.com, rather than full video addresses like https://www.tiktok.com/@int1ator/video/722398...

...meaning some link extractors will miss out on that first page's worth of videos. The way around that is to search for the account name on Tiktok's search bar, "@int1ator" in this case (note that you have to be signed in for searches to work properly), and then click the account's page from the results. When visted that way, all the videos on the page are linked to their full addresses, and you can extract the links without worry.

Also, I added an alternate command line in my second edit of the opening post, for getting just the H.264/AVC versions of videos that will work for uploading on GWM.

Nov 13, 2023 - permalink

You might notice hovering over first page or so of video thumbnails that their links all show as just https://www.tiktok.com

if the clips have any description, hovering over that reveals the proper link.

Nov 14, 2023 - permalink

Right, but that's getting them individually instead of extracting a list of all the video links at once.

« first < prev Page 1 of 1 next > last »