0% found this document useful (0 votes)
172 views2 pages

Douyin Cod 1

This document defines functions to download videos from Douyin (TikTok) accounts. It includes: - A getid function that makes an API call to fetch video data with a user ID and cursor. - A download function that takes a video URL, ID, and description to download the video file. - A waitforme function that pauses execution for a specified time in milliseconds. - A run function that calls getid in a loop to retrieve all video data, calls download to save each one, and handles errors.

Uploaded by

lihour070
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
172 views2 pages

Douyin Cod 1

This document defines functions to download videos from Douyin (TikTok) accounts. It includes: - A getid function that makes an API call to fetch video data with a user ID and cursor. - A download function that takes a video URL, ID, and description to download the video file. - A waitforme function that pauses execution for a specified time in milliseconds. - A run function that calls getid in a loop to retrieve all video data, calls download to save each one, and handles errors.

Uploaded by

lihour070
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

var getid=async function(sec_user_id,max_cursor){

var res=await fetch("https://www.douyin.com/aweme/v1/web/aweme/post/?


device_platform=webapp&aid=6383&channel=channel_pc_web&sec_user_id="+sec_user_id+"&
max_cursor="+max_cursor, {
"headers": {
"accept": "application/json, text/plain, */*",
"accept-language": "vi",
"sec-ch-ua": "\"Not?A_Brand\";v=\"8\", \"Chromium\";v=\"108\", \"Microsoft
Edge\";v=\"108\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin"
},
"referrer": "https://www.douyin.com/user/MS4wLjABAAAAu8qwDm1-muGuMhZZ-
tVzyPVWlUxIbQRNJN_9k83OhWU",
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "include"
});
try{
res=await res.json();
}catch(e){
res=await getid(sec_user_id,max_cursor);
console.log(e);
}
return res;
}

var download=async function(url, aweme_id, desc){


var file_name = aweme_id + "-" + desc + ".mp4";
var data=await fetch(url, {
"headers": {
"accept": "*/*",
"accept-language": "vi,en-US;q=0.9,en;q=0.8",
"range": "bytes=0-",
"sec-ch-ua": "\"Not?A_Brand\";v=\"8\", \"Chromium\";v=\"108\", \"Microsoft
Edge\";v=\"108\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "video",
"sec-fetch-mode": "cors",
"sec-fetch-site": "cross-site"
},
"referrer": "https://www.douyin.com/",
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "omit"
});
data=await data.blob();
var a = document.createElement("a");
a.href = window.URL.createObjectURL(data);
a.download = file_name;
a.click();
}

var waitforme=function(millisec) {
return new Promise(resolve => {
setTimeout(() => { resolve('') }, millisec);
})
}

var run=async function(){


var result=[];
var hasMore=1;
var sec_user_id=location.pathname.replace("/user/","");
var max_cursor=0;
var download_from=prompt("Enter id video(Enter 0 if want to download all
video):","");
if(download_from==null || download_from=="") {
alert("Please, Enter id of video!");
return;
}
while(hasMore==1){
var moredata=await getid(sec_user_id,max_cursor);
hasMore=moredata['has_more'];
max_cursor=moredata['max_cursor'];
for(var i in moredata['aweme_list']){
if(moredata['aweme_list'][i]['aweme_id'] == download_from){
hasMore=0;
break;
}
if(moredata['aweme_list'][i]['video']['play_addr']['url_list']
[0].startsWith("https"))
result.push([moredata['aweme_list'][i]['video']['play_addr']['url_list']
[0],moredata['aweme_list'][i]['aweme_id'],moredata['aweme_list'][i]['desc']]);
else
result.push([moredata['aweme_list'][i]['video']['play_addr']['url_list']
[0].replace("http","https"),moredata['aweme_list'][i]
['aweme_id'],moredata['aweme_list'][i]['desc']]);
console.clear();
console.log("Number of videos: "+result.length);
}
}
for(var i=result.length-1;i>=0;i--){
await waitforme(5000);
try{download(result[i][0],result[i][1],result[i][2]);}catch{}
}
}
run();

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy