Cách tải video tiktok hàng loạt

Mình tìm được một cách tải video tiktok hàng loạt hoàn toàn miễn phí muốn chia sẻ với anh em. Bài viết gốc của tác giả ở đây nhé: https://savemytiktoks.org/

Bước 1: Mở hồ sơ TikTok

Truy cập vào hồ sơ TikTok mà bạn muốn trích xuất dữ liệu. Đảm bảo rằng hồ sơ đó ở chế độ công khai và tất cả video đều hiển thị.

Step 1 Image

Bước 2: Mở Công cụ dành cho nhà phát triển

Nhấn phím F12 hoặc tổ hợp phím Cmd +Option + I để mở Công cụ dành cho nhà phát triển, rồi điều hướng đến tab Console.

Step 2 Image

Bước 3: Tải tất cả video

Sao chép và dán đoạn mã sau vào Console để bắt đầu cuộn qua hồ sơ:

var scroll = setInterval(function() { window.scrollBy(0, 1000); }, 1000);

Step 3 Image

Bước 4: Trích xuất liên kết video

Sau khi hồ sơ được tải hoàn toàn, hãy sao chép và dán đoạn mã sau vào Console để trích xuất tất cả các liên kết video:

window.clearInterval(scroll);
console.clear();

urls = document.querySelectorAll('a');

let videoData = [];

urls.forEach(function(v) {
    if (v.href.includes('/video/')) {
        videoData.push({ title: v.textContent.trim() || 'No Title', url: v.href });
    }
});

videoData.sort((a, b) => a.url.localeCompare(b.url));

videoData.forEach(data => {
    console.log('\t' + data.title + '\t' + data.url + '\t');
});

Step 4 Image Part 1Step 4 Image Part 2

Bước 5: Tải xuống các liên kết video

Bạn có thể nhập các kết quả này vào một bảng tính Excel để lưu trữ tối ưu. Cài đặt JDownloader2. Trong khi tải xuống, hãy nhấn Decline trong cửa sổ Optional Offers Consent để đảm bảo tải xuống an toàn. Đảm bảo rằng tính năng theo dõi clipboard được bật, các liên kết sẽ được tự động sao chép, hoặc bạn có thể dán chúng thủ công vào JDownloader2.

Step 5 Image Part 1Step 5 Image Part 2

Bạn có thể vào cài đặt của Jdownloader2 để chọn vị trí lưu video nhé.

Cập nhật: Nếu muôn lưu liên kết video trong tệp csv, sử dụng mã bên dưới nhé:

window.clearInterval(scroll);
console.clear();

const urls = document.querySelectorAll('a');
let videoData = [];

// Lấy dữ liệu video
urls.forEach(v => {
    if (v.href.includes('/video/')) {
        videoData.push({
            title: v.textContent.trim().replace(/\s+/g, ' ') || 'No Title',
            url: v.href
        });
    }
});

// Sắp xếp theo URL
videoData.sort((a, b) => a.url.localeCompare(b.url));

// Tạo CSV
let csv = 'Title,URL\n';
videoData.forEach(v => {
    const title = `"${v.title.replace(/"/g, '""')}"`;
    const url = `"${v.url}"`;
    csv += `${title},${url}\n`;
});

// Tải file CSV
const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = 'video_links.csv';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);

console.log(`✅ Đã xuất ${videoData.length} video ra file CSV`);