n0l3r / tiktok-downloader

tiktok downloader is a tool to download video from tiktok with watermark or without watermark. There are two features that is, mass download (by username/urls) and single download (by url).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

0 video found, and more 0's after captcha

sdbrown67 opened this issue · comments

Seems to not be working now, has tiktok changed something on their page structure?

Figured it out the wrapper name has changed....
Line 144: const listVideo = Array.from(document.querySelectorAll(".tiktok-1s72ajp-DivWrapper > a"));

Fixed it.

i did this, videos are now found but im getting |Error: URL not found|

i did this, videos are now found but im getting |Error: URL not found|

hello, see if Line 145: return listVideo.map(item => item.getAttribute('href'));
fixes it for you.

i did this, videos are now found but im getting |Error: URL not found|

hello, see if Line 145: return listVideo.map(item => item.getAttribute('href')); fixes it for you.

no that didnt do it

So that does work, no need to change the line 145, but do change the Line 144 to as @sdbrown67 suggested :

const listVideo = Array.from(document.querySelectorAll(".tiktok-1s72ajp-DivWrapper > a"));

but you need to change a few more lines of code. i'll show an example, please see this as a very temporary fix to the issue as it could bug out if there was an issue with a non matching url.

Lines 176-177
inside of the

if (!matching){
        const idVideo = url.substring(url.indexOf("/video/") + 7, url.length);
        return (idVideo.length > 19) ? idVideo.substring(0, idVideo.indexOf("?")) : idVideo;
}

If you change it to this it'll bypass the no url error.

I have fixed line 144 as suggested by @sdbrown67 and also line 176 @matthewcoolio but it still has the error "[] 0 video found
[X] No more video found
[
] Total video found: 0
[!] Error: No video found" In addition, as soon as the browser opens, it is there for half a second, then it disappears. I thought this is supposed to be headless?

@matthewcoolio Your repo also has some unforeseen problem on my machine.
`
/Users/sihao/Insta/tiktok-downloader/node_modules/puppeteer/lib/cjs/puppeteer/common/ExecutionContext.js:221
throw new Error('Evaluation failed: ' + helper_js_1.helper.getExceptionMessage(exceptionDetails));
^

Error: Evaluation failed: TypeError: Cannot read properties of null (reading 'innerHTML')
at puppeteer_evaluation_script:3:44
at ExecutionContext._evaluateInternal (/Users/sihao/Insta/tiktok-downloader/node_modules/puppeteer/lib/cjs/puppeteer/common/ExecutionContext.js:221:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async ExecutionContext.evaluate (/Users/sihao/Insta/tiktok-downloader/node_modules/puppeteer/lib/cjs/puppeteer/common/ExecutionContext.js:110:16)
at async getListVideoByUsername (/Users/sihao/Insta/tiktok-downloader/index.js:159:17)
at async /Users/sihao/Insta/tiktok-downloader/index.js:223:17

Node.js v18.16.0

`

commented

https://github.com/BrandonS8/tiktok-downloader

This one is now fully working

Hi @matthewcoolio, seems feature scrape from username just found 30 videos and not more because captcha of instagram, are you have solutions for this problem?

		listVideo = await page.evaluate(() => {
			var pageJSON = document.querySelector('#SIGI_STATE')
			var parsedJSON = JSON.parse(pageJSON.innerHTML)
			const listVideo = parsedJSON.ItemList['user-post'].list
			return listVideo.map(function (i) { return window.location.href + '/video/' + i })
		})

this works but it only goes to 35 and I dunno why

https://github.com/BrandonS8/tiktok-downloader
This one is now fully working

Hi @matthewcoolio, seems feature scrape from username just found 30 videos and not more because captcha of instagram, are you have solutions for this problem?

Did you manage to find a fix?