l0g0s
Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos,
Aquí voy a explicar una forma sencilla para extraer datos muy básicos de una FanPage de Facebook inyectando código javaScript. Este sistema de inyectar JavaScript es muy útil ya que no necesitas un servidor para trabajar, sólo un AddOn en tu navegador (greasemonkey en nuestro caso).
Esto es sólo un ejemplo últil para comenzar, a partir de estos cimientos espero que podáis agregar vuestros propios códigos que realicen tareas más complejas. Estaré encantado de responder cualquier pregunta, y compartir las mejoras sobre código original que se aporten.
Aunque lo datos que extrae se pueden ver en la propia página, estos al aparecer sin formato son fáciles de copiar para tener nuestras propias estadísticas.
Datos mostrados:
- Nombre de la FanPage
- Fecha actual
- Número de fans (likes)
- Alcance total actual
- Botón de RESET para actualizar los datos y refrescar la página.
1.- Abre Firefox e instala el addon greasemonkey
https://addons.mozilla.org/es/firefox/addon/greasemonkey/

2.- Una vez instalado selecciona el icono del monito que aparece a la derecha de la barra de herramientas y ahí selecciona "Manage User Scripts"

3.- Pulsa "New user script..." y rellena el campo name con "leedatosFP.js" y el campo namespace con "leedatos" y pulsa ACEPTAR así:

4.- Ahora copia este código que te dejo aquí abajo y lo pegas en el editor de javascript.
Código cedido con licencia CreativeCommons
5.- Pulsa GUARDAR y cierra la ventana de edición del código.
6.- Verás que aparece tu código en el addon de greasemonkey

Ejemplo de como queda el javaScript inyectado en una FanPage de Facebook:

Aquí voy a explicar una forma sencilla para extraer datos muy básicos de una FanPage de Facebook inyectando código javaScript. Este sistema de inyectar JavaScript es muy útil ya que no necesitas un servidor para trabajar, sólo un AddOn en tu navegador (greasemonkey en nuestro caso).
Esto es sólo un ejemplo últil para comenzar, a partir de estos cimientos espero que podáis agregar vuestros propios códigos que realicen tareas más complejas. Estaré encantado de responder cualquier pregunta, y compartir las mejoras sobre código original que se aporten.
Aunque lo datos que extrae se pueden ver en la propia página, estos al aparecer sin formato son fáciles de copiar para tener nuestras propias estadísticas.
Datos mostrados:
- Nombre de la FanPage
- Fecha actual
- Número de fans (likes)
- Alcance total actual
- Botón de RESET para actualizar los datos y refrescar la página.
1.- Abre Firefox e instala el addon greasemonkey
https://addons.mozilla.org/es/firefox/addon/greasemonkey/

2.- Una vez instalado selecciona el icono del monito que aparece a la derecha de la barra de herramientas y ahí selecciona "Manage User Scripts"

3.- Pulsa "New user script..." y rellena el campo name con "leedatosFP.js" y el campo namespace con "leedatos" y pulsa ACEPTAR así:

4.- Ahora copia este código que te dejo aquí abajo y lo pegas en el editor de javascript.
Código cedido con licencia CreativeCommons
Insertar CODE, HTML o PHP:
// ==UserScript==
// @name leedatosFP.js
// [MENTION=52291]CREATOR[/MENTION] AHE, l0g0s
// [MENTION=39868]grant[/MENTION] none
// ==/UserScript==
//
// IMPORTANTE: NO se puede usar jQuery porque FACEBOOK lo bloquea aunque cargues las librerias por tu cuenta!
//
//Variables GLOBALES
var fecha;
var pageTitle;
var meGusta;
var cellFecha;
var cellMeGusta;
var cellAlcance;
// 12/09/2014 - AHE - Ejecución al cargar la página
window.onload = function(){
setTimeout(function() {
leeDatos();
creaElementos();
}, 2500);
};
// 12/09/2014 - AHE - Lectura de datos de una FP de Facebook
function leeDatos(){
var hoy = new Date();
var mes = (hoy.getMonth()+1);
var dia = hoy.getDate();
var minutos = hoy.getMinutes();
if (mes<10) mes = "0" + mes;
if (dia<10) dia = "0" + dia;
if (minutos<10) minutos = "0" + minutos;
fecha = dia + '/' + mes + '/' + hoy.getFullYear() + ' ' + hoy.getHours() + ':' + minutos;
pageTitle = document.getElementById('pageTitle').innerHTML;
meGusta = document.getElementById('PagesLikesCountDOMID').innerHTML;
var l1 = meGusta.indexOf('>');
var l2 = meGusta.indexOf('<',l1);
meGusta = meGusta.substring(l1+1,l2);
meGusta = meGusta.replace(' ','');
meGusta = meGusta.replace(' ','');
meGusta = meGusta.replace(' ','');
alcance = document.getElementById('pagesManagerSpringboard').innerHTML;
l1 = alcance.indexOf('Alcance de la publicaci');
l1 = alcance.indexOf('">',l1+1);
l1 = alcance.indexOf('">',l1+1);
l2 = alcance.indexOf('</span>',l1);
alcance = alcance.substring(l1+2,l2);
alcance = alcance.replace(' ','');
alcance = alcance.replace(' ','');
alcance = alcance.replace(' ','');
}
// 12/09/2014 - AHE - Resetea Datos
function resetearDatos(){
leeDatos();
cellFecha.innerHTML = fecha;
cellMeGusta.innerHTML = meGusta;
cellAlcance.innerHTML = alcance;
}
// 12/09/2014 - AHE - Creación del botón Reset de datos
function creaBoton(){
var newbuttom = document.createElement('BUTTON');
var t=document.createTextNode("RESET");
newbuttom.appendChild(t);
newbuttom.id = "resetDatos";
newbuttom.onclick = function(){
resetearDatos();
};
return newbuttom;
}
// 12/09/2014 - AHE - Creación de tabla para mostrar datos en pantalla
function creaTabla(){
var row;
var cell;
var newtabla = document.createElement('table');
newtabla.setAttribute("border", "1");
newtabla.setAttribute("cellpadding", "2");
newtabla.setAttribute("cellspacing", "0");
//Fecha
row = document.createElement("tr");
cellFecha = document.createElement("td");
cellFecha.setAttribute("colspan", "2");
cellFecha.innerHTML = fecha;
row.appendChild(cellFecha);
newtabla.appendChild(row);
//Nueva fila
row = document.createElement("tr");
//Título MeGusta
cell = document.createElement("td");
cell.innerHTML = "MeGusta";
row.appendChild(cell);
//Título Alcance
cell = document.createElement("td");
cell.innerHTML = "Alcance";
row.appendChild(cell);
newtabla.appendChild(row);
//Nueva fila
row = document.createElement("tr");
//Dato meGusta
cellMeGusta = document.createElement("td");
cellMeGusta.innerHTML = meGusta;
row.appendChild(cellMeGusta);
//Dato alcance
cellAlcance = document.createElement("td");
cellAlcance.innerHTML = alcance;
row.appendChild(cellAlcance);
newtabla.appendChild(row);
return newtabla;
}
// 12/09/2014 - AHE - Crea todos los elementos y los coloca en la página
function creaElementos(){
var newscript = document.createElement('span');
var newbuttom = creaBoton();
var newtabla = creaTabla();
var recortaTitulo = pageTitle.substring(0,35);
newscript.id = "pruebaAl";
newscript.innerHTML = "<br/><br/><br/>" + recortaTitulo; //blueBarDOMInspector //pagelet_bluebar
document.getElementById('blueBarDOMInspector').appendChild(newscript);
document.getElementById('blueBarDOMInspector').appendChild(newtabla);
document.getElementById('blueBarDOMInspector').appendChild(newbuttom);
setTimeout(resetearDatos(), 4000);
};
5.- Pulsa GUARDAR y cierra la ventana de edición del código.
6.- Verás que aparece tu código en el addon de greasemonkey
- Pulsa "Opciones" para editarlo
- Pulsa "Añadir" en "Páginas includas" y pega la/las FanPage/s de Facebook a las que quieres aplicar el código.
- Pulsa "Edit this user script" para modificar el código a tu gusto.
- Pulsa ACEPTAR al finalizar

Ejemplo de como queda el javaScript inyectado en una FanPage de Facebook:
