-
-
Notifications
You must be signed in to change notification settings - Fork 91
/
TiktokDownloaderNoWM_ByMRHRTZ.js
62 lines (57 loc) · 2.01 KB
/
TiktokDownloaderNoWM_ByMRHRTZ.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
* Tiktok Downloader No Watermark
* Author : MRHRTZ
*
* Installation :
* $ npm install axios cheerio querystring
*
* Then run it using node :
* $ TiktokDownloaderNoWM_ByMRHRTZ.js
*/
const { default: Axios } = require('axios')
const cheerio = require('cheerio')
const qs = require('querystring')
function tiktokdownload(url) {
return new Promise((resolve, reject) => {
Axios.get('https://ttdownloader.com/')
.then((data) => {
const $ = cheerio.load(data.data)
const cookie = data.headers['set-cookie'].join('')
const dataPost = {
url: url,
format: '',
token: $('#token').attr('value')
}
// return console.log(cookie);
Axios({
method: 'POST',
url: 'https://ttdownloader.com/req/',
headers: {
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
origin: 'https://ttdownloader.com',
referer: 'https://ttdownloader.com/',
cookie: cookie,
},
data: qs.stringify(dataPost)
}).then(({ data }) => {
const $ = cheerio.load(data)
const result = {
nowm: $('#results-list > div:nth-child(2) > div.download > a')?.attr('href'),
wm: $('#results-list > div:nth-child(3) > div.download > a')?.attr('href'),
audio: $('#results-list > div:nth-child(4) > div.download > a').attr('href')
}
resolve(result);
})
.catch(e => {
reject({ status: false, message: 'error fetch data', e: e.message })
})
})
.catch(e => {
reject({ status: false, message: 'error fetch data', e: e.message })
})
})
}
// Contoh pemakaian
tiktokdownload('https://www.tiktok.com/@bacotskaleh/video/6991352661119388955')
.then(console.log)
.catch(console.log)