Una guía detallada sobre el web scraping utilizando el Intérprete de Código ChatGPT y sus plugins.
Si no está por la labor de crear alguna novedad, lo más probable es que necesite alguna información previa para empezar. O puede que quiera echar un vistazo a la competencia para obtener información valiosa. Además, puede haber innumerables razones para que alguien se interese por el contenido de un sitio web concreto.
El raspado web es el proceso que sirve para esos casos de uso.
Y hay varias formas de hacerlo. Existen herramientas de gran peso a las que puede suscribirse para el raspado profesional de grandes sitios web. Otra posibilidad es que necesite una configuración específica para el procesamiento in situ.
De cualquier forma, el enfoque es caro, requiere mucho tiempo y es tedioso para los principiantes, especialmente para el raspado de unas pocas páginas web.
Visión general de ChatGPT para Web Scraping
Se supone que no debo presentarle ChatGPT. ¿O sí?
En resumen, ChatGPT es una IA generativa que responde como los humanos. Usted dispone de una interfaz de chat para pedirle que realice diversas tareas, como indagar sobre acontecimientos históricos, escribir ensayos, resumir, traducir, codificar, etc.
ChatGPT responde en texto. Sin embargo, existen plugins de ChatGPT que mejoran sus capacidades de muchas maneras. Y nosotros utilizaremos uno de esos plugins. Además, utilizaremos su Intérprete de código para el raspado de sitios web con estructuras complicadas o con protocolos antiraspado activos.
Sepa que ChatGPT tiene versiones gratuitas y de pago. Pero necesitará la suscripción de pago (actualmente, 20 $ al mes) para utilizar el complemento de raspado web o su motor Code Interpreter.
En secciones posteriores, ilustraré el proceso paso a paso.
Descargo de responsabilidad: Antes de proceder usted mismo, confirme que el sitio web en cuestión permite el raspado de sus contenidos. Si no es así, puede ponerse en contacto con su administrador y ver si se lo permite para evitar problemas legales.
Raspado web utilizando el plugin ChatGPT
Acceda a su cuenta de OpenAI, pase el ratón por encima de GPT-4 (su versión actual de pago) y haga clic en Plugins.
A continuación, haga clic en No plugins enabled, desplácese hacia abajo y haga clic en Plugin Store.
Tenga en cuenta que en lugar de No hay plugins habilitados, tendrá un icono de plugin si hay alguno activo. En ese caso, deberá hacer clic en ese icono para abrir el desplegable y hacer clic en la tienda de plugins en la parte inferior.
Esto abrirá la tienda de plugins. Busque Scraper y pulse Instalar.
Seleccione este plugin en la interfaz de ChatGPT.
Una vez seleccionado, hay que avisar a ChatGPT, mencionando la URL del asunto y el contenido a raspar.
He hecho esto para unos cuantos sitios web. Eche un vistazo a esto.
Raspado de una publicación
Somos una publicación centrada en la tecnología, y he elegido nuestra página de inicio, geekflare.com/es/ para esta ilustración.
Esta es la instrucción
revise esta página web: https://geekflare.com/es/ y prepare una tabla que indique el título del artículo, el autor, la fecha de publicación y el extracto de los 10 primeros artículos.
También se puede volver a preguntar para convertir los datos a formato CSV, pegarlos en un archivo de texto con extensión .csv y abrirlo en una aplicación de hoja de cálculo como MS Excel.
Raspado de una página web de ofertas o cupones
En la sección de ofertas de Geekflare hemos seleccionado cuidadosamente algunas ofertas sobre proyectos de alta tecnología. ¿Qué le parecería obtener todas las ofertas en un formato tabular?
Prepare una lista de ofertas a partir de esta página web: https://geekflare.com/es/deals/. presente el resultado en un formato tabular.
Raspado de Wikipedia
Resuma en formato tabular las últimas noticias de la sección "en las noticias" de esta página de la wikipedia: https://en.wikipedia.org/wiki/Main_Page
Raspado de tiendas de comercio electrónico
Por último, probé a raspar Amazon.com para los portátiles aplicando algunos filtros y alimentando la URL a ChatGPT. Esto es lo que obtuve:
El problema es que éste no es un caso aislado. Encontrará muchos casos de este tipo en los que los sitios web tienen medidas anti-scraping. En esta situación, tendrá que encontrar una alternativa para obtener los datos si suscribirse a los raspadores estándar del sector no es una opción.
En las secciones siguientes se expone una de estas soluciones.
Raspado web mediante el intérprete de código ChatGPT
Code Interpreter es un motor de ChatGPT lanzado recientemente para atender las tareas relacionadas con la programación. Mientras que el motor por defecto se basa en gran medida en respuestas de texto, Code Interpreter puede ayudar a visualizar salidas, analizar, depurar y ejecutar código, integrarse con binarios de software y hacer muchas más cosas centradas en la programación.
En este proceso, descargaremos el HTML fuente, lo cargaremos en ChatGPT Code Interpreter, y procederemos al raspado.
He tomado esta página para la extracción:
Empezaremos guardando la página web como HTML. Para ello, vaya a la página web y pulse Ctrl S
.
Ahora ya tenemos el archivo para el scraping. Pensemos en el prompt.
Además del prompt de texto, puede ver que le he dado elementos de ejemplo para acelerar el scraping. Dado que las estructuras de las páginas web de Amazon son complejas, sin estas muestras, el intento de raspado podría fracasar o quedar en nada.
Y obtener estos elementos es bastante fácil. Haga clic con el botón derecho del ratón en cualquier lugar de la página web en cuestión y haga clic en Inspeccionar en la ventana emergente.
En primer lugar, haga clic en el icono superior (marcado como 1). Esto resaltará los detalles mientras selecciona los elementos de la página. A continuación, seleccione el elemento contenedor de cualquier producto específico.
Asegúrese de seleccionar el contenedor más interior. Puede pasar el ratón por encima y se seguirá resaltando. En el momento en que obtenga el último caparazón que cubre ese bloque, puede hacer clic y pasar al lado derecho para copiar la clase div
del elemento.
Del mismo modo, seleccione las muestras de otros elementos.
Por último, cargue el HTML e indique algo similar a esto:
eche un vistazo a esta página web html y extraiga los títulos, el precio y las valoraciones de los portátiles. presente el resultado en un formato tabular dentro de esta interfaz de chat y también entregue los resultados en un CSV para descargar.
div class="s-card-container s-overflow-hidden aok-relative puis-include-content-margin puis puis-vfcg1duwvmpo42mcln9ojhiljk s-latency-cf-section s-card-border"
ejemplo de elemento de título: span class="a-size-medium a-color-base a-text-normal"
elemento precio de muestra: span class="a-precio-todo"
elemento de valoración de muestra: span class="a-size-base puis-bold-weight-text"
Esto le llevará algún tiempo mientras el Intérprete de Códigos ChatGPT hace su trabajo. Tendrá unos pocos detalles, mientras que todo estará en el archivo CSV incrustado.
Podrá observar que la tabla tiene algunas entradas que no están presentes en la página web original, sobre todo al principio. En estos casos, debe volver a comprobar y limpiar los datos por si hubiera redundancias.
Si hay alguna, puede volver a solicitar ChatGPT para obtener un CSV limpio.
Reflexiones finales
ChatGPT hace muchas cosas, y el raspado web básico es una de ellas. De acuerdo, puede que no sea adecuado para alguien que esté raspando cientos de páginas. Aún así, le hará empezar en la dirección correcta y es ideal para una sesión corta de scraping.
En esta guía, hemos utilizado uno de sus plugins de raspado y Code Interpreter. Aunque los plugins funcionan en muchos sitios web estándar, el segundo método es para estructuras de páginas web personalizadas o si la página tiene elementos dinámicos (desplazamiento sin fin, leer más, etc.).
Y para reiterar, repase los términos del sitio web en cuestión antes de realizar el raspado.
PD: Eche un vistazo a estas soluciones de raspado en la nube y a nuestra propia API de raspado de Geekflare.