Web Scrappers (Evitar robo de contenido)

9 comentarios · 1.376 lecturas · blogs

Los Web Scrappers o ladrones de contenido son un tipo de robot o crawler que indexa contenido recopilando información y artículos de otras webs para -generalmente- duplicarlo, añadiendo bloques de publicidad y lucrarse con el esfuerzo de otros (cosa que vulnera licencias, todo sea dicho).

web scrapper scrappers

Este tipo de técnicas habitualmente generan mucha controversia, ya que a algunas personas les parece totalmente lícito, mientras que a otras les parece una estrategia abyecta.

Entrando un poco más en este tema encontramos los llamados planetas, que no son más que (en ámbitos web) un sitio web que recopila a través de feeds RSS los artículos de diferentes blogs o webs (normalmente siguiendo una misma temática o criterio).

Es una idea genial. Hay multitud de planetas muy interesantes que personalmente sigo (aunque siempre suelo leerlos desde la página original). Sin embargo, hay varios puntos que considero importantes como no permitir comentarios en el planeta, dirigir al lector a la web original, no incorporar publicidad, citar la fuente de los artículos u otros detalles que estarían restando mérito al autor del escrito.

¿Cómo puedo localizar web scrappers?


Es un tema bastante complicado, pero vamos a intentar simplificarlo. Para «robar» contenido, un scrapper o robot spammer (emails, comentarios, trackbacks, ...) tienen que acceder al feed RSS (usualmente llamado index.xml), así que vamos a aprovechar esa acción para encontrarlos. Necesitaremos acceso a nuestro fichero de logs, generalmente access.log o access_log. Si tenemos acceso SSH a nuestro servidor, mejor que mejor:

egrep "/index.xml" access_log | cut -d" " -f1,12- | sort | uniq -c | sort -n | tail -25

Con este comando conseguiremos separar los accesos al feed RSS, obteniendo la IP y el User Agent, ordenándolo por número de accesos. Finalmente, obtendremos un listado de los 25 accesos más frecuentes.

Hay que hacer notar que del listado resultante, varios accesos serán de usuarios desde navegadores o agregadores como Bloglines o Google reader. Añadiendo el siguiente pipe al comando anterior podríamos filtrar la mayoría de agregadores, quedando:

egrep "/index.xml" access.log | egrep -v "subscribers|Gecko|Liferea|Google Desktop|Akregator|Vienna|Tumblr|Feedshow|Gregarius|Googlebot|Feedreader" | cut -d" " -f1,12- | sort | uniq -c | sort -n | tail -25

Después de esto, obtendríamos -ahora si- un listado más aproximado de usuarios «sin identificar» y posibles scrappers. Hay que ser muy cuidadoso e ir investigando cada entrada. Una serie de consejos:

  • Verifica las últimas entradas primero: La primera cifra que aparece es el número de accesos, o lo que es lo mismo, el usuario que más frecuente accede a tu feed RSS. Interesa descubrir quienes son estos individuos.
  • No bloquees agentes como Googlebot o MSNbot: Los buscadores también acceden a tu feed RSS. Asegurate de excluirlos de tu lista.
  • Comprueba las IPs o hosts sospechosos: En Whois DomainTools puedes comprobar las ips para saber si son spammers conocidos.
  • Investiga el User-Agent: Busca por google, en nuestro diccionario de robots, crawlers y spiders o en sus comentarios.
  • Ojo con los User-Agents «Java/x.x.x»: En la mayoría de los casos, son bots maliciosos.

Si no estás seguro de que el usuario que miras sea un robot, siempre podrías investigar más en tus logs a ver en que otras páginas ha estado, a parte del feed RSS:

grep "IP" access_log | cut -d" " -f7

Finalmente, echa un ojo al artículo bloquear con .htaccess para saber como bloquear a los posibles scrappers que hayas encontrado.


Diccionario de Crawlers (2007)

6 comentarios · 2.165 lecturas · internet

Cada vez que nosotros (o algún sistema) accede a una página web determinada, este acceso es registrado en un log, donde se guardan varios datos, entre ellos el User-agent, que no es más que una identificación del sistema para que los webmasters conozcan de quién se trata.

crawlers spiders robots arañas bender

Pero como siempre, la ley hace la trampa, y muchos robots maliciosos pululando por la red. A continuación voy a crear un pequeño diccionario con los crawlers, robots y spiders más famosos, alguna referencia y una breve descripción.

  • Mediapartners-Google: Se trata del robot que se encarga de realizar el mantenimiento de los anuncios de Adsense. Si lo bloqueas Adsense no podrá leer el contenido de tu web para renovar los anuncios y ofrecer publicidad contextual.
  • WordPress: Es la identificación que usa el famoso CMS para realizar trackbacks, pero también es muy utilizado por robots malignos para realizar spam en trackbacks o comentarios. Mi recomendación es revisar los logs y las IP/Hosts. En mi caso, las malignas son todas de dominios rusos.
    WordPress/2.0
    WordPress 2.1.2
    WordPress/1.9
  • Googlebot: Es el robot indexador de Google. ¡Cuidado! No le deniegues la entrada, probablemente sea el mayor promotor de tu web, así que tratalo con cariño y respeto. En algunos casos añade el prefijo "Mozilla/4.0" y demás para ser más compatible con muchas páginas webs, en otros casos son simplemente usuarios que utilizan una extensión de Firefox.
    Googlebot/2.1 (+http://www.googlebot.com/bot.html)
    Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  • msnbot: Se trata del robot de Live, el buscador de Microsoft, antiguamente conocido como MSN Search. También deberíamos permitir su entrada. msnbot-media es el crawler de imágenes.
    msnbot/1.0 (+http://search.msn.com/msnbot.htm)
    msnbot-media/1.0 (+http://search.msn.com/msnbot.htm)
    
  • Yahoo! Slurp: Es el buscador de Yahoo!. Después de Googlebot y antes de msnbot, se puede considerar uno de los tres crawlers más importantes de la actualidad. ¡No bloquear!
    Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
    Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)
  • noxtrumbot: Se trata del buscador de TPI (paginas amarillas). Ultimamente se está detectando un volumen muy alto de tráfico de este crawler, puedes utilizar Crawl-delay para controlar el tráfico de este robot en nuestra página.
    noxtrumbot/1.0 (crawler@noxtrum.com)
  • Google Desktop: Widget de escritorio, con buscador y gadgets integrados. Muchos usuarios lo utilizan como agregador RSS de webs. No es conveniente bloquearlo.
    Mozilla/5.0 (compatible; Google Desktop)
  • psbot: Robot indexador de imagenes del buscador PicSearch.
    psbot/0.1 (+http://www.picsearch.com/bot.html)
  • ia_archiver: Robot indexador de Alexa e Internet Archive. Si estas especialmente interesado en los rankings de Alexa, te conviene no bloquearlo.
  • FAST MetaWeb Crawler: Antiguamente era el propietario de un buscador que casi hacía sombra a Google: AllTheWeb, hoy prácticamente casi nadie lo utiliza.
    FAST MetaWeb Crawler (helpdesk at fastsearch dot com)
  • HTTrack: Software que se encarga de descargar copias íntegras de una página web, siguiendo todos sus enlaces. Conviene bloquearlo, aunque el usuario que utilice el programa, puede simular ser un navegador corriente, pasando a ser más difícil de detectar.
    Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98)
  • Yeti: Se trata de un robot coreano que simular ser un crawler de Naver.com. Sin embargo es un robot de spam.
    Yeti/0.01 (nhn/1noon, yetibot@naver.com, check robots.txt daily and follow it)
  • Ask Jeeves: Se trata de la antigua unión de Ask y Teoma. Actualmente es un buscador de blogs similar a Google Blog Search.
    Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://about.ask.com/en...
  • Scooter: Es el robot indexador del buscador Altavista.
    Scooter/3.3
  • Snapbot: Este robot es el crawler que se encarga de realizar capturas de pantalla de páginas webs para utilizar en el servicio de snapshots.
    Snapbot/1.0 (Snap Shots, +http://www.snap.com)
  • W3C: Robot del validador HTML y CSS, que comprueba los errores de tu web. Es un servicio de la web del consorcio W3C.
    W3C_Validator/1.555
    Jigsaw/2.2.5 W3C_CSS_Validator_JFouffa/2.0
  • TestCrawler: Se auto-catalogan como «supuestos» robots indexadores de investigación. Vamos, robots spam casi seguro. Mi recomendación, bloquearlos.
    TestCrawler/Nutch-0.9 (Testing Crawler for Research ; http://chitchit...
    TestCrawler/Nutch-0.9 (Testing Crawler for Research ; http://balihoo.com...
    test/Nutch-0.8.1 (Test robot; http://test.com; info at test.com
    
  • BlogPulseLive: Robot indexador de esta herramienta de seguimiento de blogs, al más puro estilo Google Blog Search, Technorati o Agregax.
    BlogPulseLive (support@blogpulse.com)
  • GigaBlast: Es el robot indexador que se encarga de recopilar información para el buscador Gigablast.
    Gigabot/2.0 (http://www.gigablast.com/spider.html)
  • Wells Search II: Robot Spammer, confirmado. Usa IPs actualmente marcadas en lista negra (blacklist) 24.132.27.125.
  • ConveraCrawler: Afirma ser un buscador que indexa información para investigaciones en relación a la web 2.0 y otros propósitos, como por ejemplo SearchMedica. Yo por mi parte, bloqueado.
    ConveraCrawler/0.9e (+http://www.authoritativeweb.com/crawl)
  • Jyxobot/1: Parece ser el crawler de un buscador de la República Checa llamado Jy Xo.
  • MJ12bot: Parece ser el robot de un recopilador de datos de redes distribuidas llamado Majestic12.
    MJ12bot/v1.2.0 (http://majestic12.co.uk/bot.php?+)
  • VadixBot: Bot spammer, catalogado en lista negra (blacklist) 70.112.175.196.
  • Microsoft-WebDAV-MiniRedir/5.1.2600: Esta identificación no es ningún crawler o robot. Se trata de un protocolo para programadores que brinda Microsoft para acceder a documentos almacenados en Internet de forma nativa. Probablemente software que accede a sitios web. Otro proyecto similar es el llamado Jakarta.
    Microsoft-WebDAV-MiniRedir/5.1.2600
    Jakarta Commons-HttpClient
    Microsoft URL Control - 6.00.8169
    Microsoft URL Control - 6.00.8862
    Microsoft URL Control - 6.00.8877
    Microsoft URL Control - 6.01.9782
    
  • VoilaBot: Se trata del robot del buscador francés Voila. En algunos casos también se ha detectado que hace uso masivo de peticiones en el servidor.
    Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) VoilaBot BETA 1.2 ...
  • studybot/1.0: Robot que se hace pasar por crawler, pero en realidad es un bot spammer de viet-nam. Confirmado e incluido en blacklist: 58.186.51.174.
  • Twiceler: Parece el crawler de un buscador legítimo.
    Mozilla/5.0 (Twiceler-0.9 http://www.cuill.com/twiceler/robot.html)
  • Attentio/Nutch: Crawler que realiza operaciones de tracking y análisis sociales en blogs, foros de discusión.
    Attentio/Nutch-0.9-dev (Attentio's beta blog crawler;...
  • Moreoverbot: Robot de noticias online y actualidad.
    Moreoverbot/5.00 (+http://www.moreover.com)
  • Woriobot Heritrix: Robot de un buscador británico de Colombia llamado Worio.
    Mozilla/5.0 (compatible; woriobot heritrix/1.10.0 +http://worio.com)
  • EmeraldShield: Robot crawler legítimo de una empresa llamada EmeraldShield.
    EmeraldShield.com Web Spider ...
  • Sogou Orion Spider: Buscador chino llamado Sogou.
    Sogou Orion spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07
  • TailRank: Robot-crawler que hace las veces de agregador de blogs.
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1; aggregator:Tailrank; ...
  • WebCollage: Robot indexador, que se encarga de realizar collages con imagenes encontradas por internet.
    webcollage 1.93
    webcollage 1.129
    webcollage 1.125
    webcollage 1.114
    webcollage 1.117
  • Speedy Spider: Robot indexador del buscador EntireWeb.
    Speedy Spider (http://www.entireweb.com/about/search_tech/speedy_spider/)
  • ISC Systems iRc Search 2.1: Robot crawler spammer. Confirmado en 196.209.64.115 (blacklist).
  • http://www.abcdatos.com/botlink/
  • Botlink ABCDatos: Robot que comprueba enlaces rotos de la base de datos de enlaces de . No soporta el uso de robots.txt, pero porque la comprobación con cabecera es mucho más pequeña que hacer una lectura de ese fichero.
  • Yahoo-MMCrawler/3.x: Antiguamente se trataba del robot del buscador de imagenes de Yahoo. Actualmente creo que ha cambiado a ser la tecnología usada en el buscador de imagenes de AllTheWeb (también pertenece a Yahoo).
  • Technoratibot: Robot indexador de actualizaciones y referencias de Technorati.
    Technoratibot/0.7
  • YodaoBot: Buscador chino, bautizado con el nombre de Yo Dao.
    Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/...
  • Consolas y teléfonos: Existen muchas consolas como la PSP, Wii o iPhone que permiten navegar desde el dispositivo, a través de una red inalámbrica. Entre muchos otros teléfonos nokia, ericsson y otros, podemos destacar por uso medio los siguientes:
    Mozilla/5.0 (iphone; u; cpu like mac os x; en) applewebkit/420+ ...
    Opera/9.10 (nintendo wii; u; ; 1621; es-es)
    Mozilla/4.0 (psp (playstation portable); 2.00)

Evidentemente faltan muchos, pero me he preocupado de poner los más comunes (al menos desde mi experiencia). Confío en ir ampliando el diccionario según lleguen webmasters interesados en el tema. ¡No duden en comentar para ampliar la lista!


Robots.txt : Todo lo que deberia saber

13 comentarios · 8.607 lecturas · manuales

El fichero robots.txt es un archivo de texto que dicta unas recomendaciones para que todos los crawlers y robots de buscadores cumplan (¡ojo! recomendaciones, no obligaciones). Pero comencemos por el principio.

Un crawler es un robot de una entidad (generalmente buscadores) que acceden a las páginas web de un sitio para buscar información en ella, añadirla en los buscadores, etc. También son llamados spiders, arañas, bots o indexadores.

crawler spider robot indexador araña googlebot slurp

Por ejemplo, Googlebot es el nombre del crawler del buscador Google. También existen otros como:

  • Mediapartners-Google, que es el crawler que se encarga de revisar los anuncios de Google Adsense.
  • Googlebot-Image, robot indexador de imagenes del buscador de Google.
  • Slurp, crawler de indexación del buscador Yahoo!
  • noxtrumbot, del buscador Noxtrum.
  • Scooter, del buscador Altavista.

Y muchísimos más. Si establecemos un control en nuestro robots.txt, podremos conseguir una serie de beneficios:

crawlers robots txt robots.txt spiders index
  • Impedir acceso a robots determinados: Puede parecer contradictorio, pero algunos crawlers no nos proporcionarán sino problemas. Algunos robots no son de buscadores, e incluso algunos robots no son ni amigos. Pero de eso ya hablaremos más tarde.
  • Reducir la sobrecarga del servidor: Podrás controlar el flujo de algunos robots. Algunos de ellos son un verdadero descontrol de peticiones que pueden llegar a saturar tu servidor.
  • Prohibir zonas: Nos puede interesar tener disponible una zona en nuestra web, que sea accesible para algunos, pero que no aparezca en buscadores.
  • Eliminar contenido duplicado: Uno de los casos más importantes, que casi siempre es olvidado por los webmasters. Si eliminamos la duplicidad de contenido, los buscadores nos puntuaran muy alto, aumentando el flujo de visitas.
  • Fijar mapas del sitio: También es posible acoplar un sitemap para indicar el buen camino a los robots.

¿Y entonces, que hay que hacer? Es muy sencillo.

Sólo tenemos que crear un fichero de texto robots.txt y comenzar a escribir en el. Partiré del siguiente ejemplo donde permitimos la entrada a todos los crawlers (igual que sin ningún robots.txt):

User-agent: *
Disallow:

En User-agent debemos introducir el nombre del robot, y a continuación las rutas donde queremos prohibir que acceda. Algunos ejemplos:

  • Disallow: / prohibe la entrada a todo el sitio.
  • Disallow: /foro/ prohibe la entrada a los documentos del directorio foro.
  • Disallow: permite la entrada a todo el sitio.

En algunos casos suele utilizarse en lugar de Disallow, la palabra Allow. Aunque por definición es correcta, es conveniente no utilizarla, puesto que las rutas omitidas se asumen que están permitidas por defecto, y algunos crawlers no entienden la palabra Allow.

Es posible acumular varios Disallow bajo un mismo User-agent, pero no podemos utilizar varios User-agent encima de un Disallow. Bien, algún ejemplo:

# Crawler de MSN
User-agent: msnbot
Disallow: /links.html
Disallow: /private/
Disallow: /photos/

Este código impide al crawler del buscador de Live (MSN) acceder a la página links.html, y las carpetas private y photos (y todo su contenido) de nuestro sitio.

Añadiendo el carácter # al principio de una linea podemos escribir comentarios que no interpretará el crawler.

Es posible ir acumulando reglas para distintos crawlers, formando un robots.txt más largo y completo. Cada vez que escribamos un User-agent deberemos dejar una linea en blanco de separación. Además, existe una ligera adaptación que permiten usar comodines ($ y *) en las rutas en algunos crawlers (sólo Googlebot y Slurp):

User-agent: Slurp
Disallow: /*.js$
Disallow: /2006/*
Disallow: /2007/*
Disallow: /articulos/*/pagina/*

Se está indicando al robot de Yahoo, que no indexe los ficheros que terminen en .js (javascript), direcciones que empiecen por 2007 o 2006 (fechas), ni artículos con la palabra pagina (paginado de comentarios). Estos casos pertenecen a la idea de no indexar contenido duplicado.

En la mayoría de los blogs, puedes acceder a un mismo artículo por las direcciones:

  • blog.com/articulo/titulo, la dirección principal.
  • blog.com/2007/04/, el archivo del mes.
  • blog.com/articulo/titulo/feed, feed RSS del artículo.
  • blog.com/articulo/titulo/pagina/2, pagina 2 de comentarios.

Todo esto es contenido duplicado, una de las razones más importantes de penalización para un buscador, a no ser, claro, que te las ingenies para que sólo sea accesible desde una dirección. A la hora de ver los resultados te asombrarás lo bien que estarás quedando ante los ojos de Google, por ejemplo.

Hay que tener mucho cuidado con usar cosas como Disallow: /pagina o Disallow: /*pagina, puesto que en lugar de bloquear lo que queríamos (carpeta pagina o artículos paginados), terminen bloqueando direcciones como /decorar-mi-pagina o /paginas-para-amigos/.

Si revisas estadísticas y demás, también puedes observar que a veces algunos crawlers «se pasan» revisando nuestro sitio, y funden a peticiones a nuestro pobre servidor. Existe una manera de tranquilizar a los robots:

User-agent: noxtrumbot
Crawl-delay: 30

Con esto le decimos al robot de noxtrum que espere 30 segundos entre cada acceso. Cuidado, porque Crawl-delay no lo soportan todos los crawlers (al menos MSNBot y Slurp si lo soportan, y Googlebot desde el panel de webmasters también).

Finalmente, podemos también incluir un mapa del sitio en nuestro robots.txt de la siguiente forma:

Sitemap: http://www.emezeta.com/sitemap.xml

En RobotsTXT.org podrás encontrar documentación oficial si quieres profundizar y en esta búsqueda de Google encontrarás muchos robots.txt de ejemplo, incluso robots.txt optimizados para tu tipo de web. Además, también tienes un validador de robots.txt.

Recordar a todos que con el fichero robots.txt no podemos bloquear los accesos por «fuerza bruta». Robots.txt es una recomendación del webmaster a los buscadores, que como son «robots buenos», las seguirán al pie de la letra.

Existen otros «robots malos» (que buscan direcciones de correos o formularios para hacer SPAM) que no dudarán en acceder a los lugares que hayas prohibido si lo desean. Para bloquear estos, deberemos echar mano al fichero .htaccess, pero como decía Michael Ende, eso ya es otra historia...


Páginas: 1 ... ... 1


Artículo de http://www.emezeta.com/

6 consultas efectuadas / Página generada en 0.042 segundos

Programado íntegramente por José Román (Manz) en XHTML y CSS estándar.

Sindicado bajo Feed RSS. Contenido bajo licencia Creative Commons

Estadísticas de visitas · Términos y condiciones · Contacto · Publicidad · Preguntas frecuentes (FAQ)