¿Cómo puedo reordenar los resultados de Google después de una búsqueda? Quiero crear una extensión que pueda reorganizar los resultados de una búsqueda en Google.
Estoy tratando de crear una extensión que pueda reorganizar los resultados de Google si busco algo como “cómo hacer un avión de papel”. En este momento, solo quiero poder cambiar el orden de 2 enlaces. Por ejemplo, mi código actual:
var xpath = function(xpathToExecute){
var result = [];
var nodesSnapshot = document.evaluate(xpathToExecute, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );
for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ ){
result.push( nodesSnapshot.snapshotItem(i) );
}
return result;
}
var xps = xpath('//*[@id="rso"]/div')
finalDivs = []
for (var i = 0; i < xps.length; i += 1 ) {
if (xps[i].className == 'g' || xps[i].className == 'hlcw0c') {
finalDivs.push(xps[i])
}
}
Esto me permite obtener un objeto con todas las etiquetas div relevantes. Luego puedo asignar a cada div una clasificación creando otro objeto, pero no estoy seguro de cómo puedo reordenar los resultados de búsqueda en función de estos resultados. ¿Hay alguna manera de reinyectar el orden de los div nuevamente en la página web en la que me encuentro? El código que estoy usando actualmente se coloca en la pestaña “Sources” de la siguiente manera:
¡Cualquier orientación es muy apreciada!
davy.ai
Para reordenar los resultados de búsqueda de Google en función de tus clasificaciones, deberás crear una función que tome los elementos div ordenados finalmente e inyectarlos de vuelta en la página de resultados de búsqueda. Puedes hacer esto eliminando los elementos de resultados de búsqueda existentes del DOM y agregando los elementos div ordenados en el orden deseado.
Aquí tienes un ejemplo de implementación:
Luego puedes llamar a esta función con tu array de elementos div ordenados después de haber asignado a cada div una clasificación. Por ejemplo:
Asegúrate de que tu extensión de Google Chrome también tenga permiso para modificar el DOM de la página de resultados de búsqueda de Google. Puedes hacer esto agregando el campo
"permissions"
a tu archivomanifest.json
:Con esta configuración, el archivo
myscript.js
de tu extensión podrá modificar la página de resultados de búsqueda de Google.