Git Product home page Git Product logo

bulk-tiktoks-downloader's Introduction

BulkToks

Simple script to bulk download tiktok clips without watermark, used node js+ puppeteer

That script only does one thing if you want many downloads options consider looking at tiktokdl

  • Bulktok script bulk downloads all tiktok videos of a single user profileand the descriptions.
  • adding number after url argument bulk downloads number of tiktok videos of a single user and the descriptions.

Note: Videos are stored in @username folder whereas the description is stored in names.txt Warning: Since the script bulk downloads, it can be alot of data depending on the number you enter or the number of videos a user has.

requirements:

  • Node Js

Installtion:

After installing Node Js

navigate to the project directory and use this command:

  • npm i

How to use:

Manual Way: edit the user profile url in bulktok script or edit the user profile url & the nVideos parameter in nvideosuser script.

Terminal Way: In the terminal or command prompt use:

Or

Note: Replace n with your desired number in the second command. e.g; 2

Of course you can change the username davidbeckham to whatever user you want to download all videos of single user.

Results will be saved in names.txt and videos in username folder location.

All videos will be saved without watermark unless the user reuploaded his clips with logo.

Cheers

bulk-tiktoks-downloader's People

Contributors

karim0sec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bulk-tiktoks-downloader's Issues

INFO

You fix the code, thank you, you are the best and I appreciate your work, I had two questions if you could answer I would appreciate it a lot, you made the code to download videos from snaptik, can the code be changed to download from tikmate - for example or from somewhere else, and the second question, can the videos be downloaded, with a higher resolution, snptik has offered the download in HD but I don't know why it has been removed as an option.
I wish you the best, and I appreciate you for the work you do!

Installing Guide

Hello.Can you make an installing guide for this script. Thanks

Please fix the code

E:\Work\Video>node allvideosuser https://www.tiktok.com/@chongsalyy
now it downloading 1472 video
Descriptions Saved!
./@chongsalyy/7159484187030932762.mp4 Saved!
Done
./@chongsalyy/7159417688131980571.mp4 Saved!
Done
./@chongsalyy/7159132277648166171.mp4 Saved!
Done
./@chongsalyy/7159026856048479514.mp4 Saved!
Done
./@chongsalyy/7158765377076399386.mp4 Saved!
Done
./@chongsalyy/7158688804981820698.mp4 Saved!
Done
./@chongsalyy/7158450145946848539.mp4 Saved!
Done

E:\Work\Video\node_modules\node-fetch\lib\index.js:273
return Body.Promise.reject(new FetchError(invalid json response body at ${_this2.url} reason: ${err.message}, 'invalid-json'));
^
FetchError: invalid json response body at https://api2.musical.ly/aweme/v1/feed/?aweme_id=7158418146473364762&version_code=262&app_name=musical_ly&channel=App&device_id=null&os_version=14.4.2&device_platform=iphone&device_type=iPhone9 reason: Unexpected end of JSON input
at E:\Work\Video\node_modules\node-fetch\lib\index.js:273:32
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async getvideourl (E:\Work\Video\allvideosuser.js:89:19)
at async main (E:\Work\Video\allvideosuser.js:82:21) {
type: 'invalid-json'

Problem with puppeteer version

OS: Ubuntu-Mate 20.04

Node: v18.9.0

NPM: v8.19.2

mate@mate-optiplex:~/tiktok2/Bulk-Tiktoks-Downloader$ npm install puppeteer-extra-plugin-stealth puppeteer-extra-plugin
npm WARN old lockfile 
npm WARN old lockfile The package-lock.json file was created with an old versi
npm WARN old lockfile so supplemental metadata must be fetched from the
npm WARN old lockfile 
npm WARN old lockfile This is a one-time fix-up, please be pati
npm WARN old lockfile 
npm WARN deprecated [email protected]: Version no longer supported. Upgrade 

added 101 packages, and audited 102 packages in 20s

8 packages are looking for funding
  run `npm fund` for details

3 vulnerabilities (2 high, 1 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
mate@mate-optiplex:~/tiktok2/Bulk-Tiktoks-Downloader

Option to add file with names

Hi, I'm enjoying the script. I know that it's by single user but it would be nice to also be able to add filename with names.

Thank you.

youtube upload

is it only downloading tiktok videos or there is a youtube upload code?

I need help!

Hello, I came across a website where I can download videos in HD (https://musicaldown.com/en), I tried for two days to change the selectors, but I can't, I would be very grateful if the selectors can be changed, ( if it took a while to change them), and be offered as a third method in the script, along with snaptik. I believe the time should be longer because the HD download took more time.

When you find the time and if it is easy to make this change, I would be grateful, respect for your work, I really appreciate it!
Capture

tiktok videos download problem. Code no more working

Hi Karim-Arab
I am using this from previous some weeks but now this is not working, i try it on multiple pc but not work. This was so amazing I humble request to you please check it and look what's problem with that and fix it. Thank You

Can't pass video description as mp4 title

Hi. So I defined the video des variable before the save function but it doesn't save with the video description as the name . Can you help me with this , the var for saving I put is (path+videoDes+'.mp4'); but it only saves as '.mp4' with no title.

Update name folder and name video

Hi, I'm from Vietnam.
I am very impressed with your project. I used it and changed some items to make it more convenient.
You can refer to it

Dear.

I updated your lines 95 and 96 to after I found out you got an error while downloading the video i = 2

image

Next, I changed line 123. Video name updated as description of tiktok video

image

results after editing!

image

I Need Help!

I need help. The script has worked very well so far, the only problem I have is that it saves from 3 to a maximum of 30 videos, regardless of how many videos the TikTok account has, writes descriptions saved, and starts downloading videos without saving the entire list, TikTok has made some changes as far as I understand! Thank You

Issue?

Error: No element found for selector: #submiturl
at assert (C:\Users\barne\Downloads\Bulk-Tiktoks-Downloader-main\node_modules\puppeteer-core\lib\cjs\puppeteer\util\assert.js:28:15)
at IsolatedWorld.click (C:\Users\barne\Downloads\Bulk-Tiktoks-Downloader-main\node_modules\puppeteer-core\lib\cjs\puppeteer\common\IsolatedWorld.js:234:32)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async main (C:\Users\barne\Downloads\Bulk-Tiktoks-Downloader-main\allvideosuser.js:75:5)

Filenames / Download folders / Users array

Hey Karim,

Nice job, it works great, however I find it would be better if videos are saved not with random timestamp filenames, but rather with the real video IDs, in separate folders (for example /@Willsmith ). Some of the saved files are unreadable and it would be nice to know their IDs in order to re-download manually. Also, adding more than one user per run for better automation would be great (for example, an array of users - @user1, @user2, @user3, etc.

Thanks again!

Can you help me fix it

Im getting this error messege:

PS C:\Users\Usuario> node allvideosuser https://www.tiktok.com/@davidbeckham
node:internal/modules/cjs/loader:936
throw err;
^

Error: Cannot find module 'C:\Users\Usuario\allvideosuser'
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
at node:internal/main/run_main_module:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}

Please fix the code

YOU have made some changes to the code, with the latest changes and information on how to install the code, I got an error after downloading some videos ๐Ÿ‘‡

node:events:491
throw er; // Unhandled 'error' event
^

Error: certificate has expired
at TLSSocket.onConnectSecure (node:_tls_wrap:1535:34)
at TLSSocket.emit (node:events:513:28)
at TLSSocket._finishInit (node:_tls_wrap:949:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:730:12)
Emitted 'error' event on ClientRequest instance at:
at TLSSocket.socketErrorListener (node:_http_client:481:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'CERT_HAS_EXPIRED'
}

I also tried the old installation method, which was this

  • npm i puppeteer
  • npm install puppeteer puppeteer-extra
  • npm install puppeteer-extra-plugin-stealth puppeteer-extra-plugin-adblocker),
    but even here I got a different error code than the one above, the error code ๐Ÿ‘‡

node:events:491
throw er; // Unhandled 'error' event
^

Error: connect ETIMEDOUT 139.177.240.194:443
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1247:16)
Emitted 'error' event on ClientRequest instance at:
at TLSSocket.socketErrorListener (node:_http_client:481:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -4039,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '139.177.240.194',
port: 443
}

I have used your script for months without any problems, the last two weeks I have always encountered problems, these two days I have been unable to do so since the above errors appear, if it is possible to fix it again, I would be very grateful, thank you!

[Enhancement] Automate Posting to Youtube

Maybe consider adding automated posting to youtube to automate the entire fabrication process.

We don't necessarily have to use Youtube Data API to post on YT. We can also use Firefox with Selenium support to automatically upload videos to youtube as they are downloaded. I think it will be a worthy addition to the project.

I can do this in Python, but I am not sure how to do it in JavaScript, although I am sure it's easier with JS since there are plenty of resources available.

Please fix this problem

it stays for 20 min in the status--now is downloading x video-descriptions savet, and does not start downloading videos, please can you fix this
121234122

i have an isue

Error: certificate has expired
at TLSSocket.onConnectSecure (node:_tls_wrap:1535:34)
at TLSSocket.emit (node:events:513:28)
at TLSSocket._finishInit (node:_tls_wrap:949:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:730:12)
Emitted 'error' event on ClientRequest instance at:
at TLSSocket.socketErrorListener (node:_http_client:481:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'CERT_HAS_EXPIRED'
}

Hello, how to fix this error

E:\Work\Video\allvideosuser.js:89
const token = body.toString().match(/href=\"[^"]*"/i)[0].split(".")
^

TypeError: Cannot read properties of null (reading '0')
at main (E:\Work\Video\allvideosuser.js:89:59)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.