Чтобы извлечь данные из TikTok в Node.js, вы можете использовать библиотеку веб-скрейпинга, такую как Puppeteer или Cheerio. Обе эти библиотеки позволяют имитировать веб-браузер и взаимодействовать с веб-страницами, включая TikTok, чтобы извлекать из них данные.
Вот пример того, как использовать Puppeteer для извлечения данных из TikTok:
const puppeteer = require('puppeteer');
async function scrape() {
// Launch a headless browser instance
const browser = await puppeteer.launch();
// Open a new page in the browser
const page = await browser.newPage();
// Navigate to the TikTok homepage
await page.goto('https://www.tiktok.com/');
// Wait for the page to fully load
await page.waitForSelector('.video-feed-item');
// Extract the data from the page
const data = await page.evaluate(() => {
// Get the videos on the page
const videos = document.querySelectorAll('.video-feed-item');
// Extract the data from each video
return Array.from(videos).map(video => {
const linkElement = video.querySelector('.cover-inner-wrap a');
const link = linkElement ? linkElement.getAttribute('href') : null;
const authorElement = video.querySelector('.author-name a');
const author = authorElement ? authorElement.innerText : null;
const titleElement = video.querySelector('.video-title-content');
const title = titleElement ? titleElement.innerText : null;
return {
link,
author,
title,
};
});
});
// Close the browser
await browser.close();
// Return the scraped data
return data;
}
// Scrape the data and log it to the console
scrape().then(console.log);
В приведенном выше коде Puppeteer используется для запуска автономного браузера и перехода на домашнюю страницу TikTok. После полной загрузки страницы Puppeteer использует функцию page.evaluate() для выполнения кода JavaScript на странице и извлечения данных со страницы. Затем данные возвращаются и могут использоваться по мере необходимости.
Кроме того, вы можете использовать Cheerio для извлечения данных из TikTok. Вот пример того, как использовать Cheerio для этого:
const axios = require('axios');
const cheerio = require('cheerio');
async function scrape() {
// Make an HTTP request to the TikTok homepage
const response = await axios.get('https://www.tiktok.com/');
// Parse the HTML response using Cheerio
const $ = cheerio.load(response.data);
// Extract the data from the page
const data = $('.video-feed-item').map((i, video) => {
const link = $('.cover-inner-wrap a', video).attr('href');
const author = $('.author-name a', video).text();
const title = $('.video-title-content', video).text();
return {
link,
author,
title,
};
}).get();