Agrega un botón de extractor a https://www.xvideos.com/profileslist
当前为
// ==UserScript==
// @license MIT
// @name Extractor Button
// @namespace https://www.example.com
// @version 1.0.8
// @description Agrega un botón de extractor a https://www.xvideos.com/profileslist
// @author Tu Nombre
// @match https://www.xvideos.com/profileslist
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Función para mostrar los resultados de los nombres de usuario
function showUsernamesResults(usernames) {
var usernamesContainer = document.createElement('div');
usernamesContainer.style.marginBottom = '20px';
var title = document.createElement('h3');
title.textContent = 'Nombres de usuario encontrados:';
usernamesContainer.appendChild(title);
var list = document.createElement('ul');
usernames.forEach(function(username) {
var listItem = document.createElement('li');
listItem.textContent = username;
list.appendChild(listItem);
});
usernamesContainer.appendChild(list);
var profilesList = document.querySelector('.mozaique.profileslist.thumbs-5-cols.with-about-me');
profilesList.parentNode.insertBefore(usernamesContainer, profilesList);
}
// Función para mostrar los resultados de los "about me"
function showAboutMeResults(aboutMe) {
var aboutMeContainer = document.createElement('div');
var title = document.createElement('h3');
title.textContent = 'About Me encontrados:';
aboutMeContainer.appendChild(title);
var list = document.createElement('ul');
aboutMe.forEach(function(text) {
var listItem = document.createElement('li');
listItem.textContent = text;
list.appendChild(listItem);
});
aboutMeContainer.appendChild(list);
var profilesList = document.querySelector('.mozaique.profileslist.thumbs-5-cols.with-about-me');
profilesList.parentNode.insertBefore(aboutMeContainer, profilesList.nextSibling);
}
// Función para extraer los datos y verificar las palabras clave
function extractData(event) {
event.preventDefault();
var form = event.target;
var usernameKeywords = form.elements.usernameKeywords.value.trim();
var aboutMeKeywords = form.elements.aboutMeKeywords.value.trim();
var profileElements = document.querySelectorAll('.thumb-block-profile');
var matchingUsernames = [];
var matchingAboutMe = [];
for (var i = 0; i < profileElements.length; i++) {
var profileElement = profileElements[i];
var usernameElement = profileElement.querySelector('.profile-name a');
var aboutMeElement = profileElement.querySelector('.profile-aboutme-content p');
if (usernameElement && aboutMeElement) {
var username = usernameElement.textContent.trim();
var aboutMe = aboutMeElement.textContent.trim();
// Verificar si el nombre de usuario contiene las palabras clave (ignorando mayúsculas y minúsculas)
if (usernameKeywords && username.toLowerCase().includes(usernameKeywords.toLowerCase())) {
matchingUsernames.push(username);
}
// Verificar si el "about me" contiene las palabras clave (ignorando mayúsculas y minúsculas)
if (aboutMeKeywords && aboutMe.toLowerCase().includes(aboutMeKeywords.toLowerCase())) {
matchingAboutMe.push(aboutMe);
}
}
}
if (matchingUsernames.length > 0) {
showUsernamesResults(matchingUsernames);
}
if (matchingAboutMe.length > 0) {
showAboutMeResults(matchingAboutMe);
}
}
// Crear el formulario
var formContainer = document.createElement('div');
formContainer.style.marginBottom = '20px';
var form = document.createElement('form');
form.addEventListener('submit', extractData);
var usernameInput = document.createElement('input');
usernameInput.name = 'usernameKeywords';
usernameInput.placeholder = 'Palabras clave para nombres de usuario';
usernameInput.style.marginRight = '10px';
form.appendChild(usernameInput);
var aboutMeInput = document.createElement('input');
aboutMeInput.name = 'aboutMeKeywords';
aboutMeInput.placeholder = 'Palabras clave para "about me"';
form.appendChild(aboutMeInput);
var extractButton = document.createElement('button');
extractButton.type = 'submit';
extractButton.innerText = 'Extractor';
extractButton.style.background = '#4285f4';
extractButton.style.color = 'white';
extractButton.style.border = 'none';
extractButton.style.borderRadius = '4px';
extractButton.style.padding = '10px 20px';
extractButton.style.cursor = 'pointer';
form.appendChild(extractButton);
formContainer.appendChild(form);
var profilesList = document.querySelector('.mozaique.profileslist.thumbs-5-cols.with-about-me');
profilesList.parentNode.insertBefore(formContainer, profilesList);
})();