Add database migration scripts and update models for JSON support
This commit is contained in:
+10
-6
@@ -62,14 +62,18 @@ def generate_summary(soup):
|
||||
# Extraer texto de párrafos principales
|
||||
paragraphs = [p.get_text(strip=True) for p in soup.find_all('p')][:5]
|
||||
|
||||
# Generar un resumen en texto plano
|
||||
resumen_texto = f"Título: {titulo}. Descripción: {descripcion}. Encabezados: {', '.join(headers['h1'][:3])}."
|
||||
|
||||
# Resumen estructurado
|
||||
summary = {
|
||||
summary_json = {
|
||||
"titulo": titulo,
|
||||
"descripcion": descripcion,
|
||||
"encabezados": headers,
|
||||
"parrafos": paragraphs
|
||||
}
|
||||
return summary
|
||||
|
||||
return resumen_texto, summary_json
|
||||
|
||||
def process_url(url):
|
||||
"""Procesa una URL: extrae datos y las inserta en las tablas correspondientes."""
|
||||
@@ -86,7 +90,7 @@ def process_url(url):
|
||||
|
||||
soup = BeautifulSoup(response.text, 'html.parser')
|
||||
dominio = urlparse(url).netloc
|
||||
summary = generate_summary(soup)
|
||||
resumen_texto, resumen_json = generate_summary(soup)
|
||||
ip = requests.get(f"https://api.ipify.org?domain={dominio}&format=json").json().get('ip', "")
|
||||
contenido_hash = hash_content(response.text)
|
||||
|
||||
@@ -94,8 +98,8 @@ def process_url(url):
|
||||
visitada = WebsVisitadas(
|
||||
url=url,
|
||||
dominio=dominio,
|
||||
titulo=summary['titulo'],
|
||||
resumen=f"Descripción: {summary['descripcion']}, Encabezados: {summary['encabezados']}, Párrafos: {summary['parrafos']}",
|
||||
titulo=resumen_json['titulo'],
|
||||
resumen=resumen_texto, # Resumen en texto plano
|
||||
ip=ip,
|
||||
codigo_http=status_code,
|
||||
contenido_hash=contenido_hash
|
||||
@@ -133,7 +137,7 @@ def crawl():
|
||||
|
||||
if __name__ == "__main__":
|
||||
# URL inicial
|
||||
url_inicial = "http://example.com"
|
||||
url_inicial = "https://datos.bancomundial.org/"
|
||||
|
||||
# Insertar URL inicial si no existe
|
||||
if not session.query(WebsPorVisitar).filter_by(url=url_inicial).first():
|
||||
|
||||
Reference in New Issue
Block a user