Proceso de recopilación de datos de las páginas de resultados de los motores de búsqueda.
El scraping de motores de búsqueda es el proceso de recopilar URL , descripciones u otra información de los motores de búsqueda . Esta es una forma específica de screen scraping o web scraping dedicada únicamente a los motores de búsqueda.
Lo más común es que los grandes proveedores de optimización de motores de búsqueda (SEO) dependan de extraer periódicamente palabras clave de los motores de búsqueda para monitorear la posición competitiva de los sitios web de sus clientes en busca de palabras clave relevantes o su estado de indexación .
El proceso de ingresar a un sitio web y extraer datos de forma automatizada también suele denominarse " rastreo ". Los motores de búsqueda obtienen casi todos sus datos de robots de rastreo automatizados.
Los motores de búsqueda son una parte integral del ecosistema en línea moderno. Proporcionan una manera para que las personas encuentren información, productos y servicios en línea de forma rápida y sencilla. De hecho, más del 90% de las experiencias en línea comienzan con un motor de búsqueda y los principales resultados de búsqueda reciben la mayoría de los clics. Por eso el SEO es fundamental para las empresas y organizaciones que quieren tener éxito en el mundo digital.
El SEO es esencial porque permite que los sitios web tengan una clasificación más alta en las páginas de resultados de búsqueda, lo que facilita que las personas los encuentren. Una clasificación más alta en los resultados de búsqueda puede aumentar la visibilidad, el tráfico y, en última instancia, los ingresos de un sitio web. El SEO también puede ayudar a las empresas y organizaciones a establecer su autoridad, credibilidad y reputación en sus respectivas industrias. [1] [2]
Dificultades
Google es, con diferencia, el motor de búsqueda más grande, con la mayor cantidad de usuarios y con la mayor cantidad de ingresos en anuncios creativos, lo que convierte a Google en el motor de búsqueda más importante para las empresas relacionadas con SEO. [3]
Aunque Google no emprende acciones legales contra el scraping, utiliza una variedad de métodos defensivos que hacen que el scraping de sus resultados sea una tarea desafiante, incluso cuando la herramienta de scraping está falsificando de manera realista un navegador web normal:
- Google utiliza un complejo sistema de limitación de la tasa de solicitudes que puede variar para cada idioma, país, agente de usuario, así como en función de las palabras clave o parámetros de búsqueda. La limitación de la velocidad puede hacer que sea impredecible el acceso a un motor de búsqueda automatizado, ya que los patrones de comportamiento no son conocidos por el desarrollador o usuario externo.
- Las limitaciones de red e IP también son parte de los sistemas de defensa contra el scraping. No es fácil engañar a los motores de búsqueda cambiando a otra IP, mientras que el uso de servidores proxy es una parte muy importante para el éxito del scraping. La diversidad y el historial abusivo de un IP también son importantes.
- Las IP infractoras y las redes IP infractoras se pueden almacenar fácilmente en una base de datos de lista negra para detectar a los infractores mucho más rápido. El hecho de que la mayoría de los ISP proporcionen direcciones IP dinámicas a los clientes requiere que dichas prohibiciones automáticas sean sólo temporales y no bloqueen a usuarios inocentes.
- La detección basada en el comportamiento es el sistema de defensa más difícil. Los motores de búsqueda muestran sus páginas a millones de usuarios todos los días, lo que proporciona una gran cantidad de información sobre el comportamiento. Un script o bot de scraping no se comporta como un usuario real; aparte de tener tiempos de acceso, retrasos y tiempos de sesión atípicos, las palabras clave que se recopilan pueden estar relacionadas entre sí o incluir parámetros inusuales. Google, por ejemplo, tiene un sistema de análisis de comportamiento muy sofisticado, que posiblemente utiliza software de aprendizaje profundo para detectar patrones inusuales de acceso. Puede detectar actividad inusual mucho más rápido que otros motores de búsqueda. [4]
- Cambios en el marcado HTML , dependiendo de los métodos utilizados para recopilar el contenido de un sitio web, incluso un pequeño cambio en los datos HTML puede hacer que una herramienta de raspado no funcione hasta que se actualice.
- Cambios generales en los sistemas de detección. En los últimos años, los motores de búsqueda han reforzado sus sistemas de detección casi mes a mes, lo que hace cada vez más difícil realizar un scraping confiable, ya que los desarrolladores necesitan experimentar y adaptar su código con regularidad. [5]
Detección
Cuando la defensa del motor de búsqueda piensa que un acceso podría estar automatizado, el motor de búsqueda puede reaccionar de manera diferente.
La primera capa de defensa es una página captcha [6] donde se solicita al usuario que verifique que es una persona real y no un bot o una herramienta. Resolver el captcha creará una cookie que permitirá volver a acceder al buscador durante un tiempo. Después de aproximadamente un día, la página captcha se muestra nuevamente.
La segunda capa de defensa es una página de error similar pero sin captcha, en tal caso el usuario queda completamente bloqueado para usar el motor de búsqueda hasta que se levante el bloqueo temporal o el usuario cambie su IP.
La tercera capa de defensa es un bloqueo a largo plazo de todo el segmento de la red. Google ha bloqueado grandes bloques de red durante meses. Es probable que un administrador active este tipo de bloqueo y solo ocurre si una herramienta de raspado envía una cantidad muy grande de solicitudes.
Todas estas formas de detección también pueden ocurrirle a un usuario normal, especialmente a los usuarios que comparten la misma dirección IP o clase de red (rangos IPV4 así como rangos IPv6).
Métodos de raspado
Para utilizar un motor de búsqueda con éxito, los dos factores principales son el tiempo y la cantidad.
Cuantas más palabras clave necesite un usuario para extraer y menor sea el tiempo para el trabajo, más difícil será el extracción y más desarrollada deberá ser una herramienta o un script de extracción.
Los scripts de scraping deben superar algunos desafíos técnicos: [7]
- Utilizando la rotación de IP con proxies. Estos servidores proxy deben ser exclusivos (no compartidos) y no estar marcados en ninguna lista negra.
- Gestión adecuada del tiempo, tiempo entre cambios de palabras clave, paginación y retrasos colocados correctamente. Las tasas efectivas de scraping a largo plazo pueden variar desde solo 3 a 5 solicitudes (palabras clave o páginas) por hora hasta 100 y más por hora para cada dirección IP/Proxy. en uso. La calidad de las IP, los métodos de scraping, las palabras clave solicitadas y el idioma/país solicitado pueden afectar en gran medida la posible tarifa máxima.
- Manejo correcto de parámetros de URL, cookies y encabezados HTTP para emular a un usuario con un navegador típico [8]
- Análisis HTML DOM (extracción de URL, descripciones, posición en el ranking, enlaces a sitios y otros datos relevantes del código HTML)
- Manejo de errores, reacción automatizada en captcha o páginas bloqueadas y otras respuestas inusuales [9]
- Definición de captcha explicada como se mencionó anteriormente en [10]
Un ejemplo de software de scraping de código abierto que utiliza las técnicas mencionadas anteriormente es GoogleScraper. [8] Este marco controla los navegadores a través del protocolo DevTools y dificulta que Google detecte que el navegador está automatizado.
Lenguajes de programación
Al desarrollar un raspador para un motor de búsqueda, se puede utilizar casi cualquier lenguaje de programación. Aunque, dependiendo de los requisitos de rendimiento, algunos idiomas serán favorables.
PHP es un lenguaje comúnmente utilizado para escribir scripts de scraping para sitios web o servicios backend, ya que tiene potentes capacidades integradas (analizadores DOM, libcURL); sin embargo, su uso de memoria suele ser 10 veces mayor que el de un código C/ C++ similar . Ruby on Rails y Python también se utilizan con frecuencia para trabajos de scraping automatizados. Para obtener el máximo rendimiento, se deben considerar analizadores DOM de C++.
Además, las secuencias de comandos bash se pueden utilizar junto con cURL como herramienta de línea de comandos para extraer un motor de búsqueda.
Herramientas y scripts
Al desarrollar un raspador de motor de búsqueda, existen varias herramientas y bibliotecas disponibles que pueden usarse, ampliarse o simplemente analizarse para aprender.
- iMacros : un conjunto de herramientas de automatización de navegador gratuito que se puede utilizar para extraer volúmenes muy pequeños desde el navegador de un usuario [11]
- cURL : un navegador de línea de comandos para automatización y pruebas, así como una potente biblioteca de interacción HTTP de código abierto disponible para una amplia gama de lenguajes de programación. [12]
- Búsqueda de Google: un paquete Go para eliminar Google. [13]
- Kit de herramientas de SEO: la herramienta incluye soporte de red asincrónica y es capaz de controlar navegadores reales para mitigar la detección. [14] [15]
- se-scraper: sucesor del kit de herramientas SEO. Raspe los motores de búsqueda al mismo tiempo que diferentes servidores proxy. [dieciséis]
Legal
Cuando se raspan sitios web y servicios, la parte legal suele ser una gran preocupación para las empresas; en el caso del raspado web, depende en gran medida del país del que proviene el usuario o la empresa, así como de qué datos o sitio web se están raspando. Con muchas sentencias judiciales diferentes en todo el mundo. [17] [18] [19]
Sin embargo, cuando se trata de scraping de motores de búsqueda, la situación es diferente: los motores de búsqueda generalmente no incluyen la propiedad intelectual, ya que simplemente repiten o resumen la información que extrajeron de otros sitios web.
El mayor incidente público conocido de eliminación de un motor de búsqueda ocurrió en 2011, cuando Microsoft fue sorprendido extrayendo palabras clave desconocidas de Google para su propio y bastante nuevo servicio Bing, [20] pero ni siquiera este incidente dio lugar a un caso judicial.
Una posible razón podría ser que los motores de búsqueda obtienen casi todos sus datos extrayendo millones de sitios web accesibles al público, además sin leer ni aceptar esos términos.
Ver también
Referencias
- ^ "Qué es el SEO y cómo funciona". ViralSEOTools.com . Consultado el 10 de marzo de 2023 .
- ^ Herramientas de SEO, pequeñas (20 de febrero de 2023). "Pequeñas herramientas de SEO: ¡Optimice su sitio gratis!".
- ^ "Google sigue siendo, con diferencia, el motor de búsqueda más popular del mundo, pero la proporción de buscadores únicos cae ligeramente". searchengineland.com . 11 de febrero de 2013.
- ^ "¿Google sabe que estoy usando el navegador Tor?". tor.stackexchange.com .
- ^ "Grupos de Google". google.com .
- ^ "Mi computadora envía consultas automatizadas - Ayuda reCAPTCHA". soporte.google.com . Consultado el 2 de abril de 2017 .
- ^ "Eliminar las clasificaciones de Google por diversión y ganancias". google-rank-checker.squabbel.com .
- ^ ab "Marco Python3 GoogleScraper". raspado .
- ^ Deniel Iblika (3 de enero de 2018). "Los expertos en marketing online de DoubleSmart". DoubleSmart (en holandés). Diensten . Consultado el 16 de enero de 2019 .
- ^ Jan Janssen (26 de septiembre de 2019). "Servicios de marketing online de SEO SNEL". SEO SNEL (en holandés). Servicios . Consultado el 26 de septiembre de 2019 .
- ^ "iMacros para extraer resultados de Google". stackoverflow.com . Consultado el 4 de abril de 2017 .
- ^ "libcurl: la biblioteca de transferencia de archivos multiprotocolo". curl.haxx.se.
- ^ "Un paquete Go para eliminar Google" - a través de GitHub.
- ^ "Herramientas de SEO en línea gratuitas (como Google, Yandex, Bing, Duckduckgo, ...). Incluye soporte de redes asincrónicas: NikolaiT/SEO Tools Kit". 15 de enero de 2019 - vía GitHub.
- ^ Eugenio, Felipe. "Software de SEO" . Consultado el 18 de marzo de 2023 .
- ^ Tschacher, Nikolai (17 de noviembre de 2020), NikolaiT/se-scraper , consultado el 19 de noviembre de 2020
- ^ "¿Es legal el web scraping?". Icreón (blog).
- ^ "El tribunal de apelaciones revoca la condena y sentencia" weev "del hacker/troll [Actualizado]". arstechnica.com . 11 de abril de 2014.
- ^ "¿Puede el scraping de contenido no infractor convertirse en una infracción de derechos de autor... debido a cómo funcionan los scrapers?". www.techdirt.com . 10 de junio de 2009.
- ^ Singel, Ryan. "Google detecta copias de Bing; Microsoft dice '¿Y qué?'". Cableado .
[1] herramientas de SEO