Aporte Plugin Marca.com / Videos Marca.com

Publicado por david_domh, Agosto 28, 2013, 11:22:03 PM

Tema anterior - Siguiente tema

david_domh

Marca.com

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o marca.com.so marca.com.cpp
// Regex
// http.*\.marca\.com.*(\.jpg|\.gif|\.jpeg|\.swf|\.png)

string get_filename(string url) {
               vector<string> resultado;
               if (url.find("?") != string::npos) {
                       stringexplode(url, "?", &resultado);
                       stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                       return resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);          
               } else {
                       stringexplode(url, "/", &resultado);
                       return resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1); ;
               }
}

extern "C" resposta getmatch(const string url) {
   resposta r;  

  if ( (url.find("marca.com/") != string::npos)
  ) {
   
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "marca.com";
     } else {
        r.match = false;
     }
  } else {
     r.match = false;
  }
  return r;
}



Los videos de marca.com que salen de este servidor : uecdn.es


Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o uecdn.es.so uecdn.es.cpp
// Regex
// http.*\.uecdn\.es.*(\.flv|\.mp4)

string get_filename(string url) {
               vector<string> resultado;
               if (url.find("?") != string::npos) {
                       stringexplode(url, "?", &resultado);
                       stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                       return resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);          
               } else {
                       stringexplode(url, "/", &resultado);
                       return resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1); ;
               }
}

extern "C" resposta getmatch(const string url) {
   resposta r;  

  if ( (url.find("uecdn.es/") != string::npos)
  ) {
   
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "Marca.com/Videos";
     } else {
        r.match = false;
     }
  } else {
     r.match = false;
  }
  return r;
}



Adjunto los .cpp, .so y  su img-domain que se copia en /var/www/thunder/imgpng

https://mega.co.nz/#F!wQ4xSRoC!TQJuPl80ud8vz7hpJslKPQ


Saludos

David M.

TecnoCyber

epa amigo los hizo usted... excelente trabajo.. le felicito.. no logre hacerlo yo...     puede hacer el de as.com...??? por favor ;)
todo se puede en JEHOVÁ... Salmo 100: 3

TecnoCyber

aaa no me dejo compilarlo... bueno amigo.. tratare de hacer yo uno... haber... pero al lado de usted nada se...
todo se puede en JEHOVÁ... Salmo 100: 3

david_domh

descargaste el archivo de mega?
ahi esta compilado el .cpp el .so y los img-domain  ..............todo listo para que hagas copy - paste al thunder

oogie.boogie

Hola David, leyendo el foro he visto como has desarrollado los plugins y te felicito, ya que me ha servido mucho para crear los propios, sin embargo me encuentro en un problema con un plugin, y tal vez tu me podrias esclarecer el tema.
El inconveniente se me plantea con una pagina cuyo dominio es "www.lanacion.com.ar" pero las imagenes se encuentran en "www.bucket2.clanacion.com.ar/anexos/etc.etc..." o sea en otro url, por lo que no guarda absolutamente nada, hay alguna forma de solucionarlo? desde ya gracias

luistec

Cita de: Oogie en Agosto 29, 2013, 10:12:31 PM
Hola David, leyendo el foro he visto como has desarrollado los plugins y te felicito, ya que me ha servido mucho para crear los propios, sin embargo me encuentro en un problema con un plugin, y tal vez tu me podrias esclarecer el tema.
El inconveniente se me plantea con una pagina cuyo dominio es "www.lanacion.com.ar" pero las imagenes se encuentran en "www.bucket2.clanacion.com.ar/anexos/etc.etc..." o sea en otro url, por lo que no guarda absolutamente nada, hay alguna forma de solucionarlo? desde ya gracias
Tienes que hacer el plugin de acuerdo al servidor de donde salen los contenidos, en muchos casos no es el mismo que el de la pagina web, como en este caso, entonces tendrias que hacer el plugin a la url "clanacion.com.ar"

Saludos.

david_domh

clanacion.com.ar  FOTOS  jpg  gif

lanacion.com.ar    PAGINA   jpg,gif, swf,png

esos son los dos servidores de la pagina en menciòn



oogie.boogie

probe hacer los plugins segun las sugerencias, probe todas las combinaciones  de url que me mostraba el Fidler, y no hubo caso de que funcionaran, o se me escapo un detalle o estoy haciendo algo mal.

Aqui esta  el ultimo que hice,  alguna otra idea/correcion o sugerencia sera bien recibida

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o clanacion.com.so clanacion.com.cpp
// regex
// http.*\.bucket1\.clanacion.com.ar*(\.jpg|\.png|\.jpeg|\.gif|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

        if ( (url.find("/anexos/fotos/") != string::npos) and
        ( (url.find(".jpg")!= string::npos) or
        (url.find(".png")!= string::npos) or
      (url.find(".jpeg")!= string::npos) or
      (url.find(".gif")!= string::npos) or
        (url.find(".swf")!= string::npos) )
        ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = "la_nacion.com";
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}

oogie.boogie

otra cosa, como es que hacen para publicar los plugins es esa ventana con barra de desplazamiento, ya que los mismos ocupan mucho menos espacio de esa manera. gracias

firecold

Amigo hay un error en el regex y en el metodo de entrada, te tiene que quedar asi:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include "../utils.cpp"

using namespace std;

// use this line to compile
// g++ -I. -fPIC -shared -g -o clanacion.com.ar.so clanacion.com.ar.cpp
// Regex
// http.*\.clanacion\.com\.ar.*(\.swf|\.jpg|\.png|\.gif)

string get_filename(string url) {
               vector<string> resultado;
       string retorna = "";
       stringexplode(url, "/", &resultado);
       retorna = resultado.at(resultado.size()-2) + "-"+resultado.at(resultado.size()-1);
       return retorna;
}

extern "C" resposta getmatch(const string url) {
       resposta r;        
               
 if ( (url.find(".clanacion.com.ar/") != string::npos)
    ) {
     r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "clanacion.com.ar";      
     } else {
        r.match = false;
     }
  }
  else
  {
     r.match = false;
  }
  return r;
}


espero te sirva, Saludos

oogie.boogie

Hola amigo Firecold, te comento que ya habia probado el plugin como tu me indicas, sin embargo por las dudas hice un cut & paste del tuyo y lo compile, pero con igual resultado que el otro, se niega a funcionar.
La verdad es que me tiene intrigado su falta de funcionamiento, desde ya agradezco tu colaboracion y sigo estudiando el tema. saludos

PD: tampoco me funcionaron las sugerencias de David ni las de luistec, a quienes les agradezco tambien la ayuda.
saludos cordiales

firecold

Cita de: Oogie Boogie en Agosto 30, 2013, 08:14:11 PM
Hola amigo Firecold, te comento que ya habia probado el plugin como tu me indicas, sin embargo por las dudas hice un cut & paste del tuyo y lo compile, pero con igual resultado que el otro, se niega a funcionar.
La verdad es que me tiene intrigado su falta de funcionamiento, desde ya agradezco tu colaboracion y sigo estudiando el tema. saludos

PD: tampoco me funcionaron las sugerencias de David ni las de luistec, a quienes les agradezco tambien la ayuda.
saludos cordiales

prueba ahora ya lo modifique, solo verifique que el regex este en el raptor.lst, Saludos

david_domh

Vamos Oogie Boogie te falta poco para que te salga el plugin , esfuerzo y perseverancia asi aprendemos todos

TecnoCyber

amigo.. disculpe... si se pudo compilar ... fue mi error al hacerlo.. gracias.. y disculpe.. todo con la ayuda de firecold

gracias a los dos
todo se puede en JEHOVÁ... Salmo 100: 3

btocarmona

Cita de: firecold en Agosto 30, 2013, 05:23:23 PM
Amigo hay un error en el regex y en el metodo de entrada, te tiene que quedar asi:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include "../utils.cpp"

using namespace std;

// use this line to compile
// g++ -I. -fPIC -shared -g -o clanacion.com.ar.so clanacion.com.ar.cpp
// Regex
// http.*\.clanacion\.com\.ar.*(\.swf|\.jpg|\.png|\.gif)

string get_filename(string url) {
                vector<string> resultado;
        string retorna = "";
        stringexplode(url, "/", &resultado);
        retorna = resultado.at(resultado.size()-2) + "-"+resultado.at(resultado.size()-1);
        return retorna;
}

extern "C" resposta getmatch(const string url) {
        resposta r;       
               
  if ( (url.find(".clanacion.com.ar/") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "clanacion.com.ar";       
      } else {
         r.match = false;
      }
   }
   else
   {
      r.match = false;
   }
   return r;
}


espero te sirva, Saludos

Amigo Firecold efectivamente he compilado este plugin clanacion sin problemas pero el funcionamiento no es el mejor,resulta que cuando ingreso a lanacion.com.ar comienza a aparecer en el reporte unos 20 archivos pero en el tamaño dice 0 kb y cuando termina de cargar el sitio hago un refresh del reporte y desaparecen los datos de clanacion.com.ar, que podra estar sucediendo

firecold

Cita de: btocarmona en Septiembre 27, 2013, 08:43:01 AM
Amigo Firecold efectivamente he compilado este plugin clanacion sin problemas pero el funcionamiento no es el mejor,resulta que cuando ingreso a lanacion.com.ar comienza a aparecer en el reporte unos 20 archivos pero en el tamaño dice 0 kb y cuando termina de cargar el sitio hago un refresh del reporte y desaparecen los datos de clanacion.com.ar, que podra estar sucediendo

Si he visto este comportamiento en algunas paginas, lo que hacen es no permitir hacer cache de ningun tipo de su pagina, con que proposito no lo se, pero asi lo hacen, Saludos

oogie.boogie

Hola amigo btocarmona: tal como dice firecold, algo de eso debe de haber porque le he dado vuelta de arriba para abajo y de izquierda a derecha y hasta ahora no lo he podido hacer andar.
Tengo plugins funcionando de alamaula.com.ar, buscape.com.ar, olx.com.ar, clarin.com.ar, aliexpress.com y pandasoftware.com, si les interesan los posteo.
Saludos.

firecold

Cita de: Oogie Boogie en Septiembre 27, 2013, 06:27:09 PM
Hola amigo btocarmona: tal como dice firecold, algo de eso debe de haber porque le he dado vuelta de arriba para abajo y de izquierda a derecha y hasta ahora no lo he podido hacer andar.
Tengo plugins funcionando de alamaula.com.ar, buscape.com.ar, olx.com.ar, clarin.com.ar, aliexpress.com y pandasoftware.com, si les interesan los posteo.
Saludos.

Si fuera mucha la molestia, pienso que talvez a alguien mas les puede interesar y sera bienvenido cualquier aporte, Saludos

oogie.boogie

Hola firecold: lo que te pediria y si no es muy complicado, es que me indiques como hacer para subir los plugins en esa ventana con barra deslizable, para no ocupar mucho espacio en el cuerpo del mensaje.
Si es mucho despelote eso, hago un cut and paste de los .cpp, los posteo por separado y listo.
Saludos

firecold

Amigo es muy facil. primero tienes tu area de trabajo, donde creas los comentarios:


Para poder poner nuestros codigos de una manera elegante y ordenada, haciendolo con el numeral de esta manera:



Aunque yo lo prefiero de esta manera, donde te muestra el numero de la linea y algunos datos destacados con colores, esto lo logras añadiendo a la primero parte del codigo del numeral, la parte donde dice code agregarle un =cpp, de esta manera:


Ahora bien donde colocas el codigo, pues muy simple en medio de ] [



Muy bien cuando coloques el codigo en medio, das click en Publicar y te quedara de este modo:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o clanacion.com.so clanacion.com.cpp
// regex
// http.*\.bucket1\.clanacion.com.ar*(\.jpg|\.png|\.jpeg|\.gif|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

        if ( (url.find("/anexos/fotos/") != string::npos) and
        ( (url.find(".jpg")!= string::npos) or
        (url.find(".png")!= string::npos) or
      (url.find(".jpeg")!= string::npos) or
      (url.find(".gif")!= string::npos) or
        (url.find(".swf")!= string::npos) )
        ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = "la_nacion.com";
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}


Saludos