Independientemente de si tienes conocimientos de programación o no, realizar web scraping puede parecer una tarea compleja y exigente. Sin embargo, el complemento ChatGPT y Code Interpreter nos ahorrará muchas líneas de código y molestias, ya que puede extraer información de páginas web en segundos con solo una pista.
A continuación, veremos a través de tres ejemplos cómo utilizar ChatGPT para realizar web scraping de forma sencilla y práctica, todo explicado paso a paso.
Empecemos...\
1) Walmart
Usaremos la sección Shop All Back to School de la tienda en línea de Walmart. He proporcionado enlaces directos a continuación:
Compre todos los productos de regreso a clases en Back to School - Walmart.com
Compra en todas las tiendas de regreso a clases en Back to School. Compre productos como JLab Audio JBuddies Studio Kids On-Ear...
Paso 1: Definir los campos a extraer
Necesitamos definir la información que deseamos extraer. Esto es muy importante ya que nos ayudará a crear nuestras indicaciones en ChatGPT más adelante.
En este caso tomaremos el nombre del producto y el precio.
Paso 2: verifica el código
Aquí necesitamos definir el código para 1 producto (como ejemplo y luego ingresarlo en ChatGPT)
Pero antes de hacer eso, aquí hay algunas cosas a tener en cuenta:
Para acceder a la función de inspección de elementos en Chrome, si estás usando Windows, hay dos opciones de atajos de teclado:
a) presione + mayúsculas + c
o
b) Presione + mayúsculas + i
Si está utilizando macOS, utilice:
a) alt + Comando + i
o
b) opción + comando + i
Teniendo esto en cuenta, ahora podemos consultar el sitio web de Walmart. Repasemos las siguientes secciones:
i) Nombre del producto
En este caso necesitamos encontrar el nombre del producto en el código para rastrear.
Copiémoslo e incluyémoslo en nuestro mensaje. Para copiar la etiqueta span \ , pasamos el cursor sobre la sección, hacemos clic derecho y aparecerá lo siguiente:
Por ahora solo lo estamos copiando, por motivos prácticos lo tendremos a mano para incluirlo en el mensaje más adelante.
<span data-automation-id="product-title" class="normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy">Mochila para portátil Nintendo Kids Super Mario Bros Mario World de 17"
ii) Precio
Haremos lo mismo con el campo de precio.
Conservaremos el elemento copiado del campo de precio para su uso posterior.
$14.92
Si necesita extraer más partes de la página, debe repetir los mismos pasos que hicimos para el nombre del producto y el precio.
Consejo: \ Para encontrar rápidamente el campo que desea inspeccionar dentro del área de código, simplemente coloque el mouse sobre el campo, haga clic con el botón derecho y se habilitará la opción de inspección.
Paso 3: guarde el archivo HTML
Dado que usaremos el intérprete de código, debemos adjuntarle un archivo. Entonces, lo que queremos hacer es guardar la página que queremos extraer como un archivo HTML .
Vuelva a la página y use el método abreviado de teclado Ctrl + S ( para Windows y macOS )
Atajo de teclado: presione Ctrl + s
A continuación, guarde el archivo en una carpeta local en formato HTML .
Paso 4: Cargue el archivo HTML + genere el mensaje
Ahora que hemos definido los campos que queremos rastrear en la web y sus códigos, construyamos el mensaje en ChatGPT.
Si no has activado el intérprete de código, sigamos algunas instrucciones para hacerlo. De lo contrario, le sugiero que se salte esta sección y vaya directamente al mensaje de construcción.
i) Configuración
ii) Abrir el intérprete de código.
Después de activar el intérprete de código en ChatGPT , carguemos el archivo HTML que guardamos en el paso 3.
Ahora, creemos el mensaje, teniendo en cuenta el nombre y el precio del producto, y el código de cada pieza (en caso de duda, consulte el paso 2 ) .
Consejo: del archivo HTML, extraiga los nombres y precios de los productos, coloque los datos en una tabla y expórtelos como un archivo CSV.
Este es un elemento de un producto: <span dataautomation id="producttitle" class="normal dark grey MB0 mt1 lh-title f6 f5-l lh-copy">Mochila para portátil Nintendo Kids Super Mario Bros. Mario World de 17"
Aquí están los elementos del precio:
$14.92Si falta el precio del producto, dejar el precio como datos vacíos
En el mensaje, vemos que hay 04 secciones .
En el primer párrafo, especifico que cargué un archivo HTML y le pedí que tomara los nombres y precios de los productos. Después de hacer esto, le solicito exportar los datos a un archivo CSV.
En los párrafos segundo y tercero , proporcioné a ChatGPT un ejemplo de cada estructura correspondiente para los campos de nombre de producto y precio. Vemos que cada producto es una etiqueta span\ y el precio es una etiqueta div\
En el último párrafo , si encuentra un valor nulo para el precio, le pido que asigne datos nulos.
Tenga en cuenta este consejo, ya que las próximas muestras tendrán la misma estructura y solo cambiarán los campos y su código.
resultado:
Descargue y abra el archivo CSV\
Finalmente, logramos extraer los productos y sus respectivos precios y luego exportarlos como un archivo CSV como se muestra en la imagen de la tabla. Tenga en cuenta que los productos que utilizamos como ejemplos están incluidos.
prima
Los pasos anteriores nos permitieron realizar un web scrape desde la primera ( 01 ) página del sitio web de Walmart. Sin embargo, si queremos extraer datos de la segunda ( 02 ) página, hacemos los mismos pasos que antes, pero no olvidemos identificar el producto en esta nueva página e incluirlo como ejemplo en el mensaje.
Página 02 de la sección Regreso a Clases en el sitio web de Walmart
i) Nombre del producto
<span data-automation-id="product-title" class="normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy">Camiseta con gráfico de Minecraft Cliff Goats para niños, paquete de 2, tallas 4 a 18 < /lapso>
ii) Precio
$13.96
Al igual que la primera página, necesitamos guardar el archivo de la segunda ( 02) página en formato HTML\ (si tiene alguna duda, consulte el paso 03 ) .
pista
Del archivo HTML, extraiga los nombres de los productos y precios, coloque los datos en una tabla y expórtelos como un archivo CSV.
Este es un elemento de un producto: <span data-automation-id="product-title" class="normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy">Camiseta gráfica Minecraft Boys Cliff Goats, 2 Paquete por cajas, tamaños 4 a 18</span>
Aquí están los elementos del precio:
$13.96Si falta el precio del producto, dejar el precio como datos vacíos
Si desea fusionar dos tablas en una, puede pedirle a ChatGPT que haga lo siguiente:
2. Meta
En el segundo ejemplo, realizaremos un web scrape desde la parte móvil del sitio web de destino . Continuaremos directamente, si tiene alguna duda, consulte los pasos del primer ejemplo de Walmart.
Aquí está el enlace directo:
Móvil: objetivo
Compra un teléfono objetivo, un teléfono que te encantará, a bajo precio. Elija entrega el mismo día, traslado en vehículo o recogida del pedido...
Paso 1: Identifiquemos los campos que queremos extraer
a) producto b) marca c) precio
Ahora, verifiquemos el nivel de código de cada campo de destino (ver paso 2)
Atajo de teclado para comprobar: Ctrl + Shift + c ( Windows ) o * Alt + Command + i* ( macOS )
Paso 2: verifica el código
i) Productos
Encontramos códigos y etiquetas. Copiamos y guardamos el código para luego incorporarlo al mensaje de ChatGPT (en caso de duda, consulte el paso 02 del primer ejemplo de Walmart)
<a href=“/p/tracfone-prepago-apple-iphone-se-2nd-gen-64gb-cdma-black/-/A-82040163#lnk=sametab” aria-label=“Tracfone prepago Apple iPhone SE 2da generación (64 GB) CDMA — Negro” class=“styles__StyledLink-sc-vpsldm-0 estilos__StyledTitleLink-sc-14ktig2–1 fajhWk gkIDAW h-display-block h-text-bold h-text-bs” data-test=“título del producto ”>Tracfone Prepago Apple iPhone SE 2.ª generación (64 GB) CDMA — Negro
ii) Marca
<a href=“/b/apple/-/N-5y3ej” class=“styles__StyledLink-sc-vpsldm-0 lnixiM h-text-sm h-text-grayDark” data-test=“@web/ProductCard/ProductCardBrandAndRibbonMessage/ marca”>manzana
iii) precio
$189.99
Paso 3: guarde el archivo HTML
Guarde la página para extraerla como un archivo HTML (consulte el paso 3 en el ejemplo de Walmart )
Paso 4: Cargue el archivo HTML + genere el mensaje
Construiremos el mensaje, pero a diferencia del ejemplo anterior, incluiremos un campo para la marca del teléfono (consulte el paso 4 del ejemplo de Walmart ).
Cargue el archivo HTML y agregue código para cada campo que desee extraer (nombre del producto, marca y precio)
Consejo: Del archivo HTML, extraiga el nombre del producto, la marca, el precio, coloque los datos en una tabla y expórtelos como un archivo CSV. Extraer todos los productos
Este es un elemento del producto: <a href="/p/tracfone-prepaid-apple-iphone-se-2nd-gen-64gb-cdma-black/-/A-82040163#lnk=sametab" aria-label=" Tracfone Apple iPhone SE prepago CDMA de 2.ª generación (64 GB), negro” class="styles__StyledLink-sc-vpsldm-0 estilos__StyledTitleLink-sc-14ktig2–1 fajhWk gkIDAW h-display-block h-text-bold h-text-bs" data - test="product-title">Tracfone prepago Apple iPhone SE 2.ª generación (64 GB) CDMA — Negro
Estos son los elementos de marca: <a href="/b/apple/-/N-5y3ej" class="styles__StyledLink-sc-vpsldm-0 lnixiM h-text-sm h-text-grayDark" data-test="@ web/ProductCard/ProductCardBrandAndRibbonMessage/marca”>Apple
Los siguientes son los elementos del precio:
$189.99Si falta el precio del producto, dejar el precio como datos vacíos
resultado
Descargue y abra el archivo CSV\
Los resultados fueron excelentes, pudimos extraer todos los datos del sitio web de Target.
3) Amazonas
En nuestro ejemplo final, realizaremos web scraping de libros Kindle. Puede ser divertido ver qué libros son los más populares y luego usar ChatGPT para crear historias con diferentes temas de actualidad.
Aqui esta el link:
Amazon.com: libros electrónicos Ignite
Regreso a clases Atención al cliente para discapacitados Cerca de la clínica universitaria Bestseller Servicio al cliente Amazon Basics Música...
Paso 1: Identifiquemos los campos que queremos extraer
a) Producto o título b) Autor c) Precio
Paso 2: verifica el código
i) Producto o título:
Encontramos códigos y etiquetas. Copiamos y guardamos el código para luego incorporarlo al mensaje de ChatGPT (en caso de duda, consulte el paso 02 del primer ejemplo de Walmart )
Los atajos de teclado para verificar son: Ctrl + Shift + c ( Windows ) o Alt + Command + i ( macOS). Puede consultar el paso 2 para obtener más detalles.
<span class="a-size-base-plus a-color-base a-text-normal">Lecciones de química: una novela
ii) Autor
<a class=“a-size-base a-link-normal s-underline-text s-underline-link-text s-link-style” href=“/Bonnie-Garmus/e/B09964CPY4?ref=sr_ntt_srch_lnk_1&qid=1690568130&sr =8–1”>邦妮·加莫斯
iii) precio
Tenga en cuenta que para este ejemplo solo extraeremos la parte entera del precio.
14 .
Paso 3: guarde el archivo HTML
Guardamos las páginas web que queremos rastrear como archivos HTML . Para ello utilizamos el atajo Ctrl + S en la página que queremos guardar. No olvidemos guardar el archivo en formato HTML (consulte los detalles en el paso 3 del ejemplo de Walmart )
Paso 4: Cargue el archivo HTML + genere el mensaje
Ahora, creemos el mensaje en función de los campos que queremos extraer de las páginas web de Amazon, específicamente de su sección de libros Kindle. En este caso, queremos extraer el título, el autor y el precio.
A continuación, cargamos el archivo HTML y agregamos código para capturar cada campo requerido ( título, autor y precio\ ))
Consejo: Del archivo HTML, extraiga el nombre del producto, el autor y el precio, coloque los datos en una tabla y expórtelos a un archivo CSV.
Este es un elemento del producto: <span class="a-size-base-plus a-color-base a-text-normal">Lecciones de química: una novela
Aquí está el elemento de autor: <a class="a-size-base a-link-normal s-underline-text s-underline-link-text s-link-style" href="/Bonnie-Garmus/e/B09964CPY4 ?ref=sr_ntt_srch_lnk_1&qid=1690568130&sr=8–1”>Bonnie Garmus
Estos son los elementos del precio: 14 .
Si falta el precio del producto, dejar el precio como datos vacíos
Veamos que las indicaciones del ejemplo que vimos tienen la misma estructura.
resultado
Descargamos el archivo CSV\
¡Tuvimos éxito!
Resumen y recomendaciones
- Si intentamos poner la URL directamente en ChatGPT , no puede realizar web scraping incluso con el intérprete de código activado . Por este motivo descargamos la página para rasparla en HTML.
- Es posible que ChatGPT no reconozca inicialmente las etiquetas de los campos que se extraen y puede proporcionarnos información incorrecta. En este punto recomiendo abrir otro chat y ejecutar el mensaje nuevamente.
- Debemos recordar que el intérprete de código utiliza Python y bibliotecas como BeautifulSoup para el web scraping.
- Este método no pretende sustituir el web scraping tradicional , sin embargo, nos ahorrará tiempo y líneas de código.
- Lo que vemos en la historia con 03 ejemplos de web scraping está dirigido tanto a quienes trabajan en programación como a quienes tienen poco o ningún conocimiento en el campo.
- Es interesante lo que podemos lograr con el web scraping , como mencioné anteriormente, podemos centrarnos en el dropshipping , crear libros Kindle, tener en cuenta los más vendidos , analizar los precios de la competencia , rastrear ciertos productos , etc.
Esta guía completa es para aquellos que desean una alternativa al uso de ChatGPT para el web scraping. No son necesarios conocimientos previos de programación, sólo curiosidad y paciencia. ¡Nos vemos en la próxima historia, mis mejores deseos!