No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Recolección de datos con ChatGPT como asistente

6/12
Recursos

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

6. Recolección de datos con ChatGPT como asistente

  • Recolecta datos de APIs, bases de datos y distintos repositorios

Yo utilicé chatgpt para generar un código de WebScrapping que me permitiera obtener el contenido de las etiquetas div una página y almacenar su contenido en una lista, todo esto usando la librería Selenium y Xpath para hacer la búsqueda de elementos.

from selenium import webdriver
from selenium.webdriver.common.by import By

# Inicializar el controlador de Selenium
driver = webdriver.Chrome()

# URL a consultar
url = "https://www.ejemplo.com"

# Abrir la URL en el navegador controlado por Selenium
driver.get(url)

# Utilizar XPath para encontrar todas las etiquetas div en la página
etiquetas_div = driver.find_elements(By.XPATH, "//div")

# Crear una lista para almacenar el contenido de las etiquetas div
contenido_etiquetas = []

# Almacenar el contenido de las etiquetas div en la lista
for etiqueta_div in etiquetas_div:
    contenido_etiquetas.append(etiqueta_div.text)

# Imprimir el contenido almacenado en la lista
for contenido in contenido_etiquetas:
    print(contenido)

# Cerrar el navegador controlado por Selenium
driver.quit()

https://chat.openai.com/share/741c65d1-d6fb-4d0a-9a03-9958dd3950ed

import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
import requests
from bs4 import BeautifulSoup
import pandas as pd

# Función para realizar el web scraping
def realizar_web_scraping():
    url = "https://www.agronegocios.co/agricultura"
    response = requests.get(url)

    if response.status_code == 200:
        soup = BeautifulSoup(response.text, "html.parser")
        noticias = soup.find_all("a", class_="title-kicker")

        titulos = []
        enlaces = []

        for noticia in noticias:
            titulo = noticia.find("h3").text.strip()
            enlace = "https://www.agronegocios.co" + noticia.get("href")
            titulos.append(titulo)
            enlaces.append(enlace)

        df = pd.DataFrame({"Título": titulos, "Enlace": enlaces})

        messagebox.showinfo("Web Scraping Completo", "Se ha completado el web scraping.")
        mostrar_resultados(df)
    else:
        messagebox.showerror("Error", "No se pudo obtener el contenido de la página.")

# Función para mostrar los resultados en una ventana secundaria
def mostrar_resultados(dataframe):
    resultados_window = tk.Toplevel(root)
    resultados_window.title("Resultados del Web Scraping")

    tree = ttk.Treeview(resultados_window, columns=("Título", "Enlace"), show="headings")
    tree.heading("Título", text="Título")
    tree.heading("Enlace", text="Enlace")

    for index, row in dataframe.iterrows():
        tree.insert("", "end", values=(row["Título"], row["Enlace"]))

    tree.pack()

# Crear la ventana principal
root = tk.Tk()
root.title("Web Scraping de AGRONEGOCIOS")

# Botón para realizar el web scraping
scrape_button = tk.Button(root, text="Realizar Web Scraping", command=realizar_web_scraping)
scrape_button.pack(pady=10)

root.mainloop()

Intenté replicar esto desde la misma web, el código generado me salió igual que en esta clase pero el dataframe sale vacío. En los recursos de la clase descargué el archivo ‘data_gathering_all.ipynb’ y veo que la diferencia es que este tiene una función llamada ‘get_techcrunch_news()’ mientras que ChatGPT (tanto en la clase como en lo que repliqué) genera esta lógica solo en un ciclo ‘For

Esta clase ha sido genial 🚀🔥📝💚

Disminución en el precio de la madera con la que haces los muebles que vendes Utilidad Bruta
Aumento en los sueldos de los empleados Utilidad Operativa
Aumento en la renta de las oficinas Utilidad Operativa
Aumento en el margen de contribución Utilidad Bruta
Disminución de ventas Utilidad Bruta
Contratación de nuevos operadores en la fábrica Utilidad Operativa
Aumento en el presupuesto de gasto de mercadotécnia Utilidad Operativa
Compra de papelería y elementos de oficina Utilidad Operativa
Aumento en el costo de bienes vendidos Utilidad Bruta
Disminución de los gastos administrativos Utilidad Operativa

Wow lo que estaba esperando y necesitando. Muy bien Carlos eres un crack Gracias