Created
August 31, 2023 16:40
-
-
Save fabianrod/0a014f37e465d17d84bee5d9bb16d885 to your computer and use it in GitHub Desktop.
Extraer información de página de resultados de TikTok
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let descriptions = document.querySelectorAll('div[data-e2e="search-card-desc"]'); | |
let accounts = document.querySelectorAll('p[data-e2e="search-card-user-unique-id"]'); | |
let views = document.querySelectorAll('div[data-e2e="search-card-like-container"]'); | |
let dates = document.querySelectorAll('[class*="DivTimeTag"]'); | |
let videoDivs = document.querySelectorAll('div[data-e2e="search_video-item"]'); | |
function getVideoLink(index) { | |
const div = videoDivs[index]; | |
const link = div ? div.querySelector('a') : null; | |
return link ? link.getAttribute('href') : null; | |
} | |
let results = []; | |
for (let i = 0; i < descriptions.length; i++) { | |
const regexMatch = descriptions[i].textContent.trim().match(/https:\/\/wa\.me\/\S+/); | |
const accountText = accounts[i]?.textContent.trim(); | |
const viewText = views[i]?.textContent.trim(); | |
const dateText = dates[i]?.textContent.trim() || "No date"; | |
const videoLink = getVideoLink(i); | |
if (regexMatch) { | |
results.push([regexMatch[0], accountText, viewText, dateText, videoLink].filter(Boolean).join(', ')); | |
} | |
} | |
// Filtrar resultados con links de wa.me únicos | |
let seenLinks = {}; | |
let uniqueResults = results.filter(item => { | |
let link = item.split(",")[0]; // asumimos que el link wa.me es el primer elemento | |
if (!seenLinks[link]) { | |
seenLinks[link] = true; | |
return true; // Mantener este item | |
} | |
return false; // Eliminar este item | |
}); | |
// Convertir el array a un string y mostrarlo | |
console.log(uniqueResults.join('\n')); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment