<jupyter_start><jupyter_text>Web ScrapingSegún el procedimiento en https://www.datacamp.com/community/tutorials/web-scraping-using-python  Pendientes: - ¿Cómo leer y fusionar diferentes campos en un solo csv?- Añadir lista de HTML para ingreso a cada una de las notas<jupyter_code>#Importes necesarios
import pandas as pd
#import numpy as np
#import matplotlib.pyplot as plt
#import seaborn as sns
#%matplotlib inline
from urllib.request import urlopen
from bs4 import BeautifulSoup
import datetime
#Establecer función para el cambio de fechas
def fecha_variable(start_date):
    fecha = start_date.strftime("%Y-%m-%d")
    url = "https://www.elsiglodetorreon.com.mx/archivo/?d=" + fecha
    html = urlopen(url)
    soup = BeautifulSoup(html, 'lxml')
    for div in soup.find_all('div', {'class': 'col-xs-9'}):
         for atag in div.find_all('a'):
                    f = open('%s.txt' % fecha, "a", encoding='utf-8')
                    f.write("\""+atag.text+"\"\n")
                    f.close()
#Variabilización de las fechas y ejecución de la función

start_date = datetime.date(2021, 1, 1)
end_date = datetime.date(2021, 3, 4)
delta = datetime.timedelta(days=1)

while start_date <= end_date:
    fecha_variable(start_date)
    start_date += delta
#Pendiente -> Leer el archivo .txt como .csv para importar a df
#read_file = pd.read_csv (r'2021-02-01.txt')
#read_file.columns = ['Titular']
#read_file.to_csv (r'2021-02-01.csv', index=None)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12584573748308525, 'fraction_numerical': 0.02165087956698241, 'mean_word_length': 3.8491803278688526, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 1}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '97529', 'license': 'CC0-1.0', 'n_tokens_mistral': 562, 'n_tokens_neox': 535, 'n_words': 138, 'path': 'TitularesScraper.ipynb', 'repo_name': 'Taller-Abierto-de-Humanidades-Digitales/sandbox', 'size': '1478'}