Maria del Pilar Montenegro, pmontenegro88@gmail.com
¿Cómo obtener los titulares de El Tiempo en tiempo real?
Noticias (Ej, El Tiempo):
Más preguntas... -> Cómo obtener temáticas, palabras claves, resúmenes.
import requests
from bs4 import BeautifulSoup
from html2text import html2text
import pandas as pd
# URL a analizar
url = 'https://www.eltiempo.com'
# Conectar con la url seleccionada
response = requests.get(url)
# Mostrar estado de conexión (200 -> OK)
print(response)
<Response [200]>
# Contenido de la url
#response.text
# Contenido web de manera estructurada
soup = BeautifulSoup(response.text, "html.parser")
### Lo más avanzado, buscar cosas específicas en el HTML obtenido
titulos_html = soup.find_all('a',{'class':'title page-link'})
# Pasar html a texto, titulo
titulos = [html2text(str(titulo)).split('(')[0] for titulo in titulos_html]
# Pasar html a texto, links
links = ['('+url+html2text(str(titulo)).split('(')[1] for titulo in titulos_html]
# cruzar titulos y links
data_raw = zip(titulos,links)
# construir dataframe
datos = pd.DataFrame(data_raw,columns=['Titular','Link'])
# Limpiar corchetes
datos['Titular'] = datos['Titular'].replace('\[|\]','',regex=True)
# Limpiar paréntesis
datos['Link'] = datos['Link'].replace('\(|\)','',regex=True)
# Limpiar saltos de línea
datos['Titular'] = datos['Titular'].replace('\n',' ',regex=True)
datos['Link'] = datos['Link'].replace('\n','',regex=True)
# Verificación
print(datos.head(10).values)
[['Visa a Estados Unidos: pasos para solicitarla por primera vez o renovarla' 'https://www.eltiempo.com/mundo/eeuu-y-canada/visa-a-estados-unidos-pasos-para-solicitarla-o-renovarla-713050'] ['Edson Velandia, su música, historias y películas en El Cine y Yo' 'https://www.eltiempo.com/cultura/musica-y-libros/en-vivo-edson-velandia-en-el-cine-y-yo-713188'] ['Minhacienda analiza si habrá o no nuevos contratos petroleros en Colombia' 'https://www.eltiempo.com/economia/sectores/contratos-petroleros-en-colombia-revaluan-dejar-de-firmarlos-713195'] ['Exclusivo: Mauricio Gerlein y su esposa son los dueños de cabaña de la balacera' 'https://www.eltiempo.com/unidad-investigativa/balacera-en-puerto-colombia-mauricio-gerlein-y-esposa-son-duenos-de-cabana-713161'] ['Dólar en las nubes: ¿cuáles son los destinos que aún son baratos para viajar?' 'https://www.eltiempo.com/vida/viajar/cuales-son-los-destinos-que-aun-son-baratos-para-viajar-713131'] ['Kid Pambelé: así fue el día, hace 50 años, en que le enseñó a ganar a Colombia' 'https://www.eltiempo.com/deportes/otros-deportes/kid-pambele-50-anos-del-primer-titulo-mundial-de-boxeo-para-colombia-713238'] ['Los factores que han llevado a Colombia a enfrentar un ‘shock de credibilidad’' 'https://www.eltiempo.com/economia/sectores/los-riesgos-de-la-economia-colombiana-segun-bank-of-america-712924'] ['¿Por qué García Márquez no dejó que Bolívar comiera mango?' 'https://www.eltiempo.com/cultura/gastronomia/el-mango-la-tarea-pendiente-de-la-cocina-colombiana-713164'] ['Esta es la deuda histórica con el Minciencias que sigue sin saldarse' 'https://www.eltiempo.com/vida/ciencia/minciencias-es-el-ministerio-que-menos-dinero-recibe-en-colombia-por-que-713205'] ['Las cuentas para clasificar en la última fecha de la Liga 2022-II' 'https://www.eltiempo.com/deportes/futbol-colombiano/liga-betplay-cuentas-para-clasificar-a-los-cuadrangulares-ultima-fecha-713229']]
import re
import datetime
import requests
import pandas as pd
from bs4 import BeautifulSoup
from html2text import html2text
def get_news(url):
# Respuesta del servidor
response = requests.get(url)
# Obtener el código html en estructuras significantes
soup = BeautifulSoup(response.text, "html.parser")
# Segmentar tipo de info según fuente
### El tiempo
if 'eltiempo' in url:
source = 'eltiempo'
### Lo más avanzado, sacar info específica
titulos_html = soup.find_all('a',{'class':'title page-link'})
else:
source = 'semana'
### Lo más avanzado, sacar info específica
titulos_html = soup.find_all('a',{'target':'_self'})
# Obtener titulos
titulos = [html2text(str(titulo)).split('(')[0] for titulo in titulos_html]
# Obtener links
links = ['('+url+html2text(str(titulo)).split('(')[1] for titulo in titulos_html]
# Cruzar Datos para DataFrame
data_raw = zip(titulos,links)
# Construir DataFrame
datos = pd.DataFrame(data_raw,columns=['Titular','Link'])
# Limpieza General (Expresiones Regulares -> Investigar)
datos['Titular'] = datos['Titular'].replace('\[|\]','',regex=True)
datos['Link'] = datos['Link'].replace('\(|\)','',regex=True)
datos['Titular'] = datos['Titular'].replace('\n',' ',regex=True)
datos['Link'] = datos['Link'].replace('\n','',regex=True)
# Como guardar en archivo .csv???
datos.to_csv(f'{source}_{str(datetime.date.today())}.csv',index=False)
return datos
# Sirve para El Tiempo y Semana
### Tarea: Hacer funcionar también para El Espectador
df_news = get_news('https://www.eltiempo.com')
print(df_news.values)
[['Visa a Estados Unidos: pasos para solicitarla por primera vez o renovarla' 'https://www.eltiempo.com/mundo/eeuu-y-canada/visa-a-estados-unidos-pasos-para-solicitarla-o-renovarla-713050'] ['Edson Velandia, su música, historias y películas en El Cine y Yo' 'https://www.eltiempo.com/cultura/musica-y-libros/en-vivo-edson-velandia-en-el-cine-y-yo-713188'] ['Minhacienda analiza si habrá o no nuevos contratos petroleros en Colombia' 'https://www.eltiempo.com/economia/sectores/contratos-petroleros-en-colombia-revaluan-dejar-de-firmarlos-713195'] ['Exclusivo: Mauricio Gerlein y su esposa son los dueños de cabaña de la balacera' 'https://www.eltiempo.com/unidad-investigativa/balacera-en-puerto-colombia-mauricio-gerlein-y-esposa-son-duenos-de-cabana-713161'] ['Dólar en las nubes: ¿cuáles son los destinos que aún son baratos para viajar?' 'https://www.eltiempo.com/vida/viajar/cuales-son-los-destinos-que-aun-son-baratos-para-viajar-713131'] ['Kid Pambelé: así fue el día, hace 50 años, en que le enseñó a ganar a Colombia' 'https://www.eltiempo.com/deportes/otros-deportes/kid-pambele-50-anos-del-primer-titulo-mundial-de-boxeo-para-colombia-713238'] ['Los factores que han llevado a Colombia a enfrentar un ‘shock de credibilidad’' 'https://www.eltiempo.com/economia/sectores/los-riesgos-de-la-economia-colombiana-segun-bank-of-america-712924'] ['¿Por qué García Márquez no dejó que Bolívar comiera mango?' 'https://www.eltiempo.com/cultura/gastronomia/el-mango-la-tarea-pendiente-de-la-cocina-colombiana-713164'] ['Esta es la deuda histórica con el Minciencias que sigue sin saldarse' 'https://www.eltiempo.com/vida/ciencia/minciencias-es-el-ministerio-que-menos-dinero-recibe-en-colombia-por-que-713205'] ['Las cuentas para clasificar en la última fecha de la Liga 2022-II' 'https://www.eltiempo.com/deportes/futbol-colombiano/liga-betplay-cuentas-para-clasificar-a-los-cuadrangulares-ultima-fecha-713229'] ['‘Me enamoré a primera vista, pero terminó siendo una pesadilla. La sigo amando’' 'https://www.eltiempo.com/cultura/gente/me-enamore-pero-termino-siendo-una-pesadilla-la-sigo-amando-712964'] ['Caso Maximiliano: encontraron cuerpo que podría ser el de menor desaparecido' 'https://www.eltiempo.com/colombia/medellin/caso-maximiliano-encontraron-cuerpo-que-podria-ser-el-de-menor-713177'] ['¿Se debe acabar con el servicio militar obligatorio? El debate está abierto' 'https://www.eltiempo.com/justicia/investigacion/servicio-militar-oligatorio-acabarlo-o-convertirlo-en-social-713214'] ['El primero de 3 puentes de la 68 con 26 empezará a operar a principios de 2023' 'https://www.eltiempo.com/bogota/bogota-el-puente-de-la-68-con-26-empezara-a-operar-a-principios-de-2023-713208'] ['La Sub-17 se hizo a pulso, sin premios e incluso contra las expectativas' 'https://www.eltiempo.com/podcast/el-primer-cafe/seleccion-colombia-femenina-a-pulso-y-en-polemica-con-federacion-de-futbol-712957'] ['El mínimo para 2023' 'https://www.eltiempo.com/opinion/editorial/editorial-de-el-tiempo-del-28-de-octubre-de-2022-el-minimo-para-2023-713224'] ['‘Me enamoré a primera vista, pero terminó siendo una pesadilla. La sigo amando’' 'https://www.eltiempo.com/cultura/gente/me-enamore-pero-termino-siendo-una-pesadilla-la-sigo-amando-712964'] ['Caso Maximiliano: encontraron cuerpo que podría ser el de menor desaparecido' 'https://www.eltiempo.com/colombia/medellin/caso-maximiliano-encontraron-cuerpo-que-podria-ser-el-de-menor-713177'] ['¿Se debe acabar con el servicio militar obligatorio? El debate está abierto' 'https://www.eltiempo.com/justicia/investigacion/servicio-militar-oligatorio-acabarlo-o-convertirlo-en-social-713214'] ['El primero de 3 puentes de la 68 con 26 empezará a operar a principios de 2023' 'https://www.eltiempo.com/bogota/bogota-el-puente-de-la-68-con-26-empezara-a-operar-a-principios-de-2023-713208'] ['La temporada de lluvias ya deja más de 280 municipios en calamidad pública' 'https://www.eltiempo.com/vida/medio-ambiente/la-temporada-de-lluvias-ya-deja-mas-de-270-municipios-en-calamidad-publica-713210'] ['Rechazo por agresión verbal de un conductor a unas guías de tránsito en Bogotá' 'https://www.eltiempo.com/bogota/movilidad-en-bogota-conductor-agrede-a-guias-de-transito-video-713189'] ['Antioquia, relatos que conectan' 'https://www.eltiempo.com/mas-contenido/antioquia-una-region-que-es-ejemplo-712039'] ['No espere más, compre su carro usado con Mezubo, la financiera digital' 'https://www.eltiempo.com/contenido-comercial/no-espere-mas-compre-su-carro-usado-con-mezubo-la-financiera-digital-706525'] ['El mínimo para 2023' 'https://www.eltiempo.com/opinion/editorial/editorial-de-el-tiempo-del-28-de-octubre-de-2022-el-minimo-para-2023-713224'] ['Antioquia, relatos que conectan' 'https://www.eltiempo.com/mas-contenido/antioquia-una-region-que-es-ejemplo-712039'] ['No espere más, compre su carro usado con Mezubo, la financiera digital' 'https://www.eltiempo.com/contenido-comercial/no-espere-mas-compre-su-carro-usado-con-mezubo-la-financiera-digital-706525'] ['Carlos Paniagua, el guía que tiene a la Sub-17 femenina cerca del título mundial' 'https://www.eltiempo.com/deportes/futbol-internacional/carlos-paniagua-quien-es-el-dt-de-la-seleccion-colombia-femenina-sub-17-713231'] ['Un caracol fosilizado y un balón gigante, entre las casas más extrañas en Airbnb' 'https://www.eltiempo.com/vida/viajar/airbnb-una-papa-y-un-ovni-entre-las-casas-mas-excentricas-712878'] ['Kasia de Qatar: trágico final de princesa que dijo vivir en una ‘jaula de oro’' 'https://www.eltiempo.com/cultura/gente/kasia-de-qatar-la-princesa-que-vivio-en-una-jaula-de-oro-713153'] ['Bogotá: así vive una familia el drama de la desaparición de su mamá, de 80 años' 'https://www.eltiempo.com/justicia/servicios/bogota-familia-reporta-desaparicion-de-su-mama-que-padece-de-alzhaimer-713204'] ['Doria, 70 años de la pasta más famosa de los colombianos' 'https://www.eltiempo.com/cultura/gastronomia/historia-de-una-marca-713201'] ['EL TIEMPO, primer medio de Colombia en Iniciativa de Autenticidad de Contenido' 'https://www.eltiempo.com/economia/empresas/el-tiempo-recibe-distincion-iniciativa-de-autenticidad-de-contenido-cai-713082'] ['Elon Musk toma el control de Twitter y despide a tres directivos' 'https://www.eltiempo.com/tecnosfera/novedades-tecnologia/elon-musk-toma-el-control-de-twitter-y-echa-a-directivos-713212'] ['El duro rifirrafe entre Rafael Correa y Pacho Santos' 'https://www.eltiempo.com/mundo/latinoamerica/pelea-entre-rafael-correa-y-pacho-santos-para-idiota-no-se-estudia-713185'] ['Septiembre se consolida como el mes del sector productivo' 'https://www.eltiempo.comhttps://www.portafolio.co/contenido-patrocinado/septiembre-se-consolida-como-el-mes-del-sector-productivo-572524'] ['La dura respuesta de jueces a Claudia López por la inseguridad en Bogotá' 'https://www.eltiempo.com/justicia/investigacion/claudia-lopez-jueces-responden-a-comentarios-por-inseguridad-en-bogota-713200'] ["Rigoberta Menchú: 'El ser humano está en deterioro, no solo el ambiente'" 'https://www.eltiempo.com/politica/gobierno/rigoberta-menchu-el-ser-humano-esta-en-deterioro-no-solo-el-ambiente-713129'] ['La Sub-17 se hizo a pulso, sin premios e incluso contra las expectativas' 'https://www.eltiempo.com/podcast/el-primer-cafe/seleccion-colombia-femenina-a-pulso-y-en-polemica-con-federacion-de-futbol-712957'] ['Elon Musk toma el control de Twitter y despide a tres directivos' 'https://www.eltiempo.com/tecnosfera/novedades-tecnologia/elon-musk-toma-el-control-de-twitter-y-echa-a-directivos-713212'] ['Caso Surtifruver: ¿qué pasó con los presuntos implicados por homicidio?' 'https://www.eltiempo.com/justicia/investigacion/implicados-por-homicidio-de-dueno-de-tiendas-surtifruver-siguen-libres-713096'] ['Embajador británico bailó con reina del Carnaval de Barranquilla: ¿cómo le fue?' 'https://www.eltiempo.com/cultura/gente/embajador-britanico-bailo-con-reina-del-carnaval-de-barranquilla-713219'] ['¿Qué falta para que la ley de la paz total sea sancionada por Petro?' 'https://www.eltiempo.com/politica/congreso/paz-total-que-sigue-en-el-congreso-con-esta-ley-713179'] ["'Los recursos para obras de ampliación del José María Córdova están listos'" 'https://www.eltiempo.com/colombia/medellin/jose-maria-cordova-los-recursos-para-obras-de-ampliacion-estan-listos-712803'] ['‘Punisher’, el más controversial de la colección RED' 'https://www.eltiempo.com/cultura/musica-y-libros/punisher-el-mas-controversial-de-la-coleccion-red-713145'] ["Nicolás de Zubiría: 'Cuando ahorraba un peso, lo gastaba en ingredientes'" 'https://www.eltiempo.com/cultura/gastronomia/nicolas-de-zubiria-estrenara-un-programa-de-television-en-sony-channel-713199'] ['Sigue la ofensiva por la seguridad de Bogotá con 8 nuevas capturas' 'https://www.eltiempo.com/bogota/capturas-en-bogota-ofensiva-por-la-seguridad-a-bandas-criminales-713215'] ["'Los recursos para obras de ampliación del José María Córdova están listos'" 'https://www.eltiempo.com/colombia/medellin/jose-maria-cordova-los-recursos-para-obras-de-ampliacion-estan-listos-712803'] ['‘Punisher’, el más controversial de la colección RED' 'https://www.eltiempo.com/cultura/musica-y-libros/punisher-el-mas-controversial-de-la-coleccion-red-713145'] ["Nicolás de Zubiría: 'Cuando ahorraba un peso, lo gastaba en ingredientes'" 'https://www.eltiempo.com/cultura/gastronomia/nicolas-de-zubiria-estrenara-un-programa-de-television-en-sony-channel-713199'] ['Sigue la ofensiva por la seguridad de Bogotá con 8 nuevas capturas' 'https://www.eltiempo.com/bogota/capturas-en-bogota-ofensiva-por-la-seguridad-a-bandas-criminales-713215']]