critico o favorable
This commit is contained in:
@ -5,7 +5,7 @@ import os
|
||||
import time
|
||||
import subprocess
|
||||
from googlenewsdecoder import gnewsdecoder
|
||||
from iacorrector import is_security_related # Importa la función desde iacorrector.py
|
||||
from iacorrector import is_security_related, is_critico, is_favorable # Importa la función desde iacorrector.py
|
||||
from datetime import datetime
|
||||
import pytz
|
||||
|
||||
@ -86,7 +86,7 @@ def search_news(query):
|
||||
articles = soup.find_all("item")
|
||||
news_list = []
|
||||
|
||||
for article in articles[:30]: # Limitar a los primeros 30 artículos
|
||||
for article in articles[:10]: # Limitar a los primeros 30 artículos
|
||||
try:
|
||||
title = article.title.get_text(strip=True)
|
||||
content = article.description.get_text(strip=True) if article.description else "Sin descripción"
|
||||
@ -95,6 +95,8 @@ def search_news(query):
|
||||
date = article.pubDate.get_text(strip=True) if article.pubDate else "Fecha no disponible"
|
||||
date_parsed = datetime.strptime(date, '%a, %d %b %Y %H:%M:%S GMT')
|
||||
date_parsed = date_parsed.replace(tzinfo=pytz.UTC)
|
||||
critico = False
|
||||
favorable = False
|
||||
|
||||
# Obtener la URL final del artículo
|
||||
final_url = get_url_from_google_news(link)
|
||||
@ -102,6 +104,9 @@ def search_news(query):
|
||||
# Obtener el autor usando autorsearcher.py
|
||||
author = get_author_from_script(final_url)
|
||||
content = get_article_content(final_url)
|
||||
critico = is_critico(content)
|
||||
favorable = is_favorable(content)
|
||||
|
||||
|
||||
# Verificar si el artículo es válido usando iacorrector
|
||||
if is_security_related(content): # Solo si el artículo es válido
|
||||
@ -111,9 +116,11 @@ def search_news(query):
|
||||
"autor": author,
|
||||
"fuente": source_info,
|
||||
"fecha": date_parsed.isoformat(),
|
||||
"link": final_url # Guardamos la URL final en lugar de la de Google News
|
||||
"link": final_url, # Guardamos la URL final en lugar de la de Google News,
|
||||
"critico": critico,
|
||||
"favorable":favorable
|
||||
}
|
||||
news_list.append(news_item)
|
||||
insertar_datos(news_item)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error al procesar un artículo para '{query}': {e}")
|
||||
@ -130,9 +137,6 @@ def insertar_datos(news_item):
|
||||
else:
|
||||
print(f"Error al insertar '{news_item['titulo']}':", response.status_code, response.json())
|
||||
|
||||
|
||||
|
||||
|
||||
def search_from_keywords_file():
|
||||
"""
|
||||
Lee palabras clave del archivo 'keywords.txt' y realiza búsquedas para cada una.
|
||||
@ -148,14 +152,9 @@ def search_from_keywords_file():
|
||||
|
||||
for keyword in keywords:
|
||||
print(f"\nBuscando noticias sobre: {keyword}")
|
||||
news_list = search_news(keyword)
|
||||
all_news.extend(news_list) # Añadir las noticias encontradas para cada palabra clave
|
||||
search_news(keyword)
|
||||
time.sleep(2) # Pausa para evitar bloqueos por demasiadas solicitudes en poco tiempo
|
||||
|
||||
# Guardar todas las noticias en un archivo JSON
|
||||
for news in all_news:
|
||||
insertar_datos(news)
|
||||
|
||||
except FileNotFoundError:
|
||||
print("No se encontró el archivo 'keywords.txt'.")
|
||||
except Exception as e:
|
||||
|
Reference in New Issue
Block a user