!pip install -q pymupdf sqlalchemy
!pip install -q mysql-connector-python
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 62.9 MB/s eta 0:00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.9/15.9 MB 97.0 MB/s eta 0:00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.3/19.3 MB 95.9 MB/s eta 0:00:00
gpu_info = !nvidia-smi
gpu_info = '\n'.join(gpu_info)
if gpu_info.find('failed') >= 0:
print('Not connected to a GPU')
else:
print(gpu_info)
Tue Jul 30 13:16:04 2024 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 NVIDIA L4 Off | 00000000:00:03.0 Off | 0 | | N/A 48C P8 12W / 72W | 1MiB / 23034MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | No running processes found | +---------------------------------------------------------------------------------------+
import requests
# import pdfplumber
from io import BytesIO
import pandas as pd
from bs4 import BeautifulSoup
from urllib.parse import urljoin
from datetime import datetime
import fitz # PyMuPDF
# Base URL and number of pages
base_url = "https://www.coruna.gal/obtenermasresultados/es?itemID=1453612770277&site=Transparencia"
num_pages = 6 # Number of pages to scrape
# Mapping category names to their corresponding categoriaID values
categories = {
"Administración y gestión": "1453773633326",
"Fiscales": "1453773634816",
"Medio ambiente": "1453773637896",
"Sanidad y consumo": "1453773640360",
"Seguridad ciudadana": "1453773640660",
"Servicios sociales": "1453773641299",
"Transportes y circulación": "1453773642032",
"Urbanismo": "1453773642338"
}
def extract_info(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# Extracting all links
links = [a['href'] for a in soup.find_all('a', href=True) if not a['href'].startswith('javascript:')]
# Filter out links that end in .htm or .pdf
filtered_links = [link for link in links if not link.lower().endswith(('.htm', '.html', '.pdf'))]
# Prepend base URL to relative links
full_links = [urljoin('https://www.coruna.gal/', link) for link in filtered_links]
return full_links
def get_page_title(url):
try:
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.title.string if soup.title else 'No Title'
return title.strip()
except Exception as e:
print(f"Error fetching title for URL {url}: {e}")
return 'Error'
def extract_pdf_links_and_titles(url):
try:
response = requests.get(url)
response.raise_for_status() # Check if the request was successful
soup = BeautifulSoup(response.text, 'html.parser')
pdf_links_with_titles = []
# Find all <a> tags
for a in soup.find_all('a', href=True):
href = a['href']
if href.lower().endswith('.pdf'):
pdf_url = urljoin(url, href)
# Extract the descriptive text
pdf_title = a.get_text(strip=True)
pdf_links_with_titles.append((pdf_url, pdf_title))
elif href.lower().endswith('.htm'):
htm_url = urljoin(url, href)
htm_title = a.get_text(strip=True)
pdf_links_with_titles.append((htm_url, htm_title))
return pdf_links_with_titles
except requests.RequestException as e:
print(f"Request failed for {url}: {e}")
return []
def extract_text_from_pdf(url):
try:
response = requests.get(url)
response.raise_for_status()
with BytesIO(response.content) as pdf_file:
with fitz.open(stream=pdf_file.read(), filetype="pdf") as pdf:
text = ''.join(page.get_text() for page in pdf)
return text
except Exception as e:
print(f"Error extracting text from PDF {url}: {e}")
return 'Error'
def extract_text_from_htm(url):
try:
response = requests.get(url)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
text = soup.get_text(separator='\n', strip=True)
return text
except requests.RequestException as e:
print(f"Error extracting text from HTM {url}: {e}")
return 'Error'
except Exception as e:
print(f"Error extracting text from HTM {url}: {e}")
return 'Error'
# Initialize lists to hold category, URLs, titles, PDF URLs, PDF titles and content
category_list = [] # grupo
all_urls = [] # Ordenanza url
titles = [] # Ordenanza name (subgrupo)
# Get current date
current_date = datetime.today().strftime('%Y-%m-%d')
# Iterate over all categories and pages
for category, categoria_id in categories.items():
for page_num in range(1, num_pages + 1):
page_url = f"{base_url}&categoriaID={categoria_id}&argPag={page_num}#Componente1453612770277"
print(f"Scraping category '{category}' page {page_num}...")
urls = extract_info(page_url)
category_list.extend([category] * len(urls))
all_urls.extend(urls)
# Get titles for the URLs
for url in urls:
titles.append(get_page_title(url))
# Create a DataFrame
df = pd.DataFrame({
'ciudad': 'A Coruña',
'date': current_date,
'grupo': category_list,
'url_subgrupo': all_urls,
'subgrupo': titles,
})
# Initialize lists to hold the expanded rows
expanded_data = []
# Iterate over the DataFrame and extract PDF links and titles
for index, row in df.iterrows():
url = row['url_subgrupo']
pdfs_with_titles = extract_pdf_links_and_titles(url)
if not pdfs_with_titles:
# If no PDFs are found, just append the row as is
expanded_data.append({
'ciudad': 'A Coruña',
'date': current_date,
'titulo': None,
'grupo': row['grupo'],
'subgrupo': row['subgrupo'],
'url': None,
'content': None,
'url_subgrupo': row['url_subgrupo'],
})
else:
# If PDFs are found, create a new row for each PDF
for file_url, file_title in pdfs_with_titles:
if file_url.lower().endswith('.pdf'):
file_text = extract_text_from_pdf(file_url)
else:
file_text = extract_text_from_htm(file_url)
expanded_data.append({
'ciudad': 'A Coruña',
'date': current_date,
'titulo': file_title,
'grupo': row['grupo'],
'subgrupo': row['subgrupo'],
'url': file_url,
'content': file_text,
'url_subgrupo': row['url_subgrupo'],
})
Scraping category 'Administración y gestión' page 1... Scraping category 'Administración y gestión' page 2... Scraping category 'Administración y gestión' page 3... Scraping category 'Administración y gestión' page 4... Scraping category 'Administración y gestión' page 5... Scraping category 'Administración y gestión' page 6... Scraping category 'Fiscales' page 1... Scraping category 'Fiscales' page 2... Scraping category 'Fiscales' page 3... Scraping category 'Fiscales' page 4... Scraping category 'Fiscales' page 5... Scraping category 'Fiscales' page 6... Scraping category 'Medio ambiente' page 1... Scraping category 'Medio ambiente' page 2... Scraping category 'Medio ambiente' page 3... Scraping category 'Medio ambiente' page 4... Scraping category 'Medio ambiente' page 5... Scraping category 'Medio ambiente' page 6... Scraping category 'Sanidad y consumo' page 1... Scraping category 'Sanidad y consumo' page 2... Scraping category 'Sanidad y consumo' page 3... Scraping category 'Sanidad y consumo' page 4... Scraping category 'Sanidad y consumo' page 5... Scraping category 'Sanidad y consumo' page 6... Scraping category 'Seguridad ciudadana' page 1... Scraping category 'Seguridad ciudadana' page 2... Scraping category 'Seguridad ciudadana' page 3... Scraping category 'Seguridad ciudadana' page 4... Scraping category 'Seguridad ciudadana' page 5... Scraping category 'Seguridad ciudadana' page 6... Scraping category 'Servicios sociales' page 1... Scraping category 'Servicios sociales' page 2... Scraping category 'Servicios sociales' page 3... Scraping category 'Servicios sociales' page 4... Scraping category 'Servicios sociales' page 5... Scraping category 'Servicios sociales' page 6... Scraping category 'Transportes y circulación' page 1... Scraping category 'Transportes y circulación' page 2... Scraping category 'Transportes y circulación' page 3... Scraping category 'Transportes y circulación' page 4... Scraping category 'Transportes y circulación' page 5... Scraping category 'Transportes y circulación' page 6... Scraping category 'Urbanismo' page 1... Scraping category 'Urbanismo' page 2... Scraping category 'Urbanismo' page 3... Scraping category 'Urbanismo' page 4... Scraping category 'Urbanismo' page 5... Scraping category 'Urbanismo' page 6...
# Create a DataFrame for the expanded data
df_ordenanzas = pd.DataFrame(expanded_data)
df_ordenanzas.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 166 entries, 0 to 165 Data columns (total 8 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 ciudad 166 non-null object 1 date 166 non-null object 2 titulo 166 non-null object 3 grupo 166 non-null object 4 subgrupo 166 non-null object 5 url 166 non-null object 6 content 166 non-null object 7 url_subgrupo 166 non-null object dtypes: object(8) memory usage: 10.5+ KB
import pandas as pd
import logging
# Save the DataFrame to a Parquet file
try:
df_ordenanzas.to_parquet(
'/content/drive/MyDrive/Colab Notebooks/14 Scraping/A_Coruna/a_coruna_ordenanzas.parquet',
index=False
)
print("DataFrame created and saved to 'a_coruna_ordenanzas.parquet'")
except Exception as e:
logging.error(f"Error saving DataFrame to Parquet: {e}")
DataFrame created and saved to 'a_coruna_ordenanzas.parquet'
# Load the DataFrame from the Parquet file
try:
df_loaded = pd.read_parquet(
'/content/drive/MyDrive/Colab Notebooks/14 Scraping/A_Coruna/a_coruna_ordenanzas.parquet'
)
print("DataFrame loaded successfully")
except Exception as e:
logging.error(f"Error loading DataFrame from Parquet: {e}")
# Check the DataFrame info
df_loaded.info()
DataFrame loaded successfully <class 'pandas.core.frame.DataFrame'> RangeIndex: 166 entries, 0 to 165 Data columns (total 8 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 ciudad 166 non-null object 1 date 166 non-null object 2 titulo 166 non-null object 3 grupo 166 non-null object 4 subgrupo 166 non-null object 5 url 166 non-null object 6 content 166 non-null object 7 url_subgrupo 166 non-null object dtypes: object(8) memory usage: 10.5+ KB
import requests
from bs4 import BeautifulSoup
import pandas as pd
import fitz # PyMuPDF
from io import BytesIO
def extract_text_from_pdf(url):
try:
response = requests.get(url)
response.raise_for_status()
with BytesIO(response.content) as pdf_file:
with fitz.open(stream=pdf_file.read(), filetype="pdf") as pdf:
text = ''.join(page.get_text() for page in pdf)
return text
except Exception as e:
print(f"Error extracting text from PDF {url}: {e}")
return 'Error'
def extract_text_from_htm(url):
try:
response = requests.get(url)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
text = soup.get_text(separator='\n', strip=True)
return text
except requests.RequestException as e:
print(f"Error extracting text from HTM {url}: {e}")
return 'Error'
except Exception as e:
print(f"Error extracting text from HTM {url}: {e}")
return 'Error'
def get_file_links(url, base_url):
response = requests.get(url)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
file_links = []
# Find all <a> tags with href attributes
for a_tag in soup.find_all('a', href=True):
href = a_tag['href']
text = a_tag.get_text(strip=True)
# Check if href ends with .htm or .pdf
if href.endswith('.htm') or href.endswith('.pdf'):
full_url = base_url + href if not href.startswith('http') else href
file_links.append([text, url , full_url])
return file_links
def get_file_content(row):
file_url = row['url']
if file_url.endswith('.pdf'):
return extract_text_from_pdf(file_url)
elif file_url.endswith('.htm'):
return extract_text_from_htm(file_url)
return 'Not a valid file type'
def determine_grupo(url):
if "organico" in url.lower():
return "Reglamento Organico"
else:
return "Reglamento General"
# URL of the main webpage
url = "https://www.coruna.gal/transparencia/es/normativa-municipal/normativa?_charset_=UTF-8&categoriaTipo=Contenido&categoriaID=1453696054145&textoBuscar=&buscar=Buscar"
# Base URL to be added to each href
base_url = "https://www.coruna.gal"
# Define headers to mimic a web browser request
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
}
# Make a request to the main webpage with headers
response = requests.get(url, headers=headers)
response.raise_for_status() # Ensure the request was successful
# Parse the HTML content with BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
# Find all <h1> elements with property='name'
h1_elements = soup.find_all('h1', property='name')
# Extract href and text
data = []
for h1 in h1_elements:
a_tag = h1.find('a')
if a_tag:
href = a_tag.get('href')
text = a_tag.get_text(strip=True)
full_url = base_url + href
# Get file links from the URL
file_links = get_file_links(full_url, base_url)
data.extend(file_links)
# Create a DataFrame
df_reg = pd.DataFrame(data, columns=['titulo', 'url_subgrupo', 'url'])
# Add content extraction
df_reg['content'] = df_reg.apply(get_file_content, axis=1)
# Add the 'grupo' column based on the presence of 'organico' in the Page URL
df_reg['grupo'] = df_reg['url_subgrupo'].apply(determine_grupo)
ciudad = "A Coruña"
current_date = datetime.today().strftime('%Y-%m-%d')
df_reg.insert(0, 'ciudad', ciudad) # Insert 'ciudad' as the first column
df_reg.insert(1, 'date', current_date) # Insert 'ciudad' as the first column
df_reg.insert(3, 'subgrupo', "Reglamentos") # Insert 'ciudad' as the first column
# Reorder columns to match the desired order
df_reg = df_reg[['ciudad', 'date', 'titulo', "grupo", 'subgrupo', 'url', 'content', 'url_subgrupo']]
# Display the DataFrame
df_reg
ciudad | date | titulo | grupo | subgrupo | url | content | url_subgrupo | |
---|---|---|---|---|---|---|---|---|
0 | A Coruña | 2024-07-30 | Regulamento Regulador do Fondo de Acción Socia... | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/90010228508640... | https://www.coruna.gal/transparencia/gl/normat... | |
1 | A Coruña | 2024-07-30 | Plan Disposición Fondos (108 KB) | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/1453788565479/... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... | https://www.coruna.gal/transparencia/gl/normat... |
2 | A Coruña | 2024-07-30 | https://bop.dicoruna.es/bopportal/publicado/20... | Reglamento General | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... | https://www.coruna.gal/transparencia/gl/normat... |
3 | A Coruña | 2024-07-30 | https://bop.dicoruna.es/bopportal/publicado/19... | Reglamento General | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/19... | https://www.coruna.gal/transparencia/gl/normat... | |
4 | A Coruña | 2024-07-30 | Regulamento Honras Distincións (2009) (Castelá... | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/90011468325687... | 1\nREGLAMENTO PARA LA CONCESIÓN DE HONORES Y D... | https://www.coruna.gal/transparencia/gl/normat... |
5 | A Coruña | 2024-07-30 | Regulamento Honras Distincións (2009) (Galego)... | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/90011468325687... | \n1 \nREGULAMENTO PARA A CONCESIÓN DE HONORES... | https://www.coruna.gal/transparencia/gl/normat... |
6 | A Coruña | 2024-07-30 | estacion_autobuses.pdf (118 KB) | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/90010228508593... | 5(*/$0(172'((;3/27$&,21'(/$(67$&,21'(\n... | https://www.coruna.gal/transparencia/gl/normat... |
7 | A Coruña | 2024-07-30 | https://bop.dicoruna.es/bopportal/publicado/20... | Reglamento General | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... | https://www.coruna.gal/transparencia/gl/normat... |
8 | A Coruña | 2024-07-30 | Regulamento%20de%20rexime%20interior%20do%20Ce... | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/90010228508671... | 1\nAÑO 1.980\n Negociado de Cem... | https://www.coruna.gal/transparencia/gl/normat... |
9 | A Coruña | 2024-07-30 | https://bop.dicoruna.es/bopportal/publicado/19... | Reglamento General | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/19... | ANUNCIO - Boletín Nº 25. Lunes, 1 de febrero d... | https://www.coruna.gal/transparencia/gl/normat... |
10 | A Coruña | 2024-07-30 | Regulamento de organización e funcionamento da... | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/1453821265765/... | \nConcello da Coruña - Plaza de María Pita 1 ... | https://www.coruna.gal/transparencia/gl/normat... |
11 | A Coruña | 2024-07-30 | BOP de 13 de decembro de 2004 | Reglamento Organico | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | EDICTO - Boletín Nº 285. Lunes, 13 de diciembr... | https://www.coruna.gal/transparencia/gl/normat... |
12 | A Coruña | 2024-07-30 | Regulamento orgánico de participación cidadá (... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/1171021491373/... | \n1\n \nREGLAMENTO ORGÁNICO DE \nPARTICIPACIÓ... | https://www.coruna.gal/transparencia/gl/normat... |
13 | A Coruña | 2024-07-30 | BOP de 13 de decembro de 2004 | Reglamento Organico | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | EDICTO - Boletín Nº 285. Lunes, 13 de diciembr... | https://www.coruna.gal/transparencia/gl/normat... |
14 | A Coruña | 2024-07-30 | Regulamento orgánico de reclamacións económico... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/1171021491568/... | \n1\n \nREGLAMENTO DEL ÓRGANO PARA LA RESOLUC... | https://www.coruna.gal/transparencia/gl/normat... |
15 | A Coruña | 2024-07-30 | BOP de 13 de decembro de 2004 | Reglamento Organico | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | EDICTO - Boletín Nº 285. Lunes, 13 de diciembr... | https://www.coruna.gal/transparencia/gl/normat... |
16 | A Coruña | 2024-07-30 | Regulamento orgánico de suxestións e reclamaci... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/1171021486225/... | \n \n \n \n \n \nREGLAMENTO ORGÁNICO DE LA CO... | https://www.coruna.gal/transparencia/gl/normat... |
17 | A Coruña | 2024-07-30 | BOP de 13 de decembro de 2004 | Reglamento Organico | Reglamentos | http://bop.dicoruna.es/bopportal/publicado/200... | EDICTO - Boletín Nº 285. Lunes, 13 de diciembr... | https://www.coruna.gal/transparencia/gl/normat... |
18 | A Coruña | 2024-07-30 | BOP de 12 de febreiro de 2005 | Reglamento Organico | Reglamentos | http://bop.dicoruna.es/bopportal/publicado/200... | ANUNCIO - Boletín Nº 34. Sábado, 12 de febrero... | https://www.coruna.gal/transparencia/gl/normat... |
19 | A Coruña | 2024-07-30 | Regulamento orgánico municipal (ROM) 2004.pdf ... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/90010448640982... | Reglamentos Orgánicos \nHabiéndose aprobado d... | https://www.coruna.gal/transparencia/gl/normat... |
20 | A Coruña | 2024-07-30 | Regulamento Orgánico Municipal (ROM_gal) 2004.... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/90010448640982... | Regulamentos Orgánicos \nAprobándose de forma... | https://www.coruna.gal/transparencia/gl/normat... |
# Dropping rows 0, 3, 5 and 20. 0 is not a reglamento and 3 is very old has a consolidated/updated pdf in row 4. Indexes 5 and 20 are galician versions
df_reg = df_reg.drop([0, 3, 5, 20])
df_reg.reset_index(drop=True, inplace=True)
df_reg
ciudad | date | titulo | grupo | subgrupo | url | content | url_subgrupo | |
---|---|---|---|---|---|---|---|---|
0 | A Coruña | 2024-07-30 | Plan Disposición Fondos (108 KB) | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/1453788565479/... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... | https://www.coruna.gal/transparencia/gl/normat... |
1 | A Coruña | 2024-07-30 | https://bop.dicoruna.es/bopportal/publicado/20... | Reglamento General | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... | https://www.coruna.gal/transparencia/gl/normat... |
2 | A Coruña | 2024-07-30 | Regulamento Honras Distincións (2009) (Castelá... | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/90011468325687... | 1\nREGLAMENTO PARA LA CONCESIÓN DE HONORES Y D... | https://www.coruna.gal/transparencia/gl/normat... |
3 | A Coruña | 2024-07-30 | estacion_autobuses.pdf (118 KB) | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/90010228508593... | 5(*/$0(172'((;3/27$&,21'(/$(67$&,21'(\n... | https://www.coruna.gal/transparencia/gl/normat... |
4 | A Coruña | 2024-07-30 | https://bop.dicoruna.es/bopportal/publicado/20... | Reglamento General | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... | https://www.coruna.gal/transparencia/gl/normat... |
5 | A Coruña | 2024-07-30 | Regulamento%20de%20rexime%20interior%20do%20Ce... | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/90010228508671... | 1\nAÑO 1.980\n Negociado de Cem... | https://www.coruna.gal/transparencia/gl/normat... |
6 | A Coruña | 2024-07-30 | https://bop.dicoruna.es/bopportal/publicado/19... | Reglamento General | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/19... | ANUNCIO - Boletín Nº 25. Lunes, 1 de febrero d... | https://www.coruna.gal/transparencia/gl/normat... |
7 | A Coruña | 2024-07-30 | Regulamento de organización e funcionamento da... | Reglamento General | Reglamentos | https://www.coruna.gal/descarga/1453821265765/... | \nConcello da Coruña - Plaza de María Pita 1 ... | https://www.coruna.gal/transparencia/gl/normat... |
8 | A Coruña | 2024-07-30 | BOP de 13 de decembro de 2004 | Reglamento Organico | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | EDICTO - Boletín Nº 285. Lunes, 13 de diciembr... | https://www.coruna.gal/transparencia/gl/normat... |
9 | A Coruña | 2024-07-30 | Regulamento orgánico de participación cidadá (... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/1171021491373/... | \n1\n \nREGLAMENTO ORGÁNICO DE \nPARTICIPACIÓ... | https://www.coruna.gal/transparencia/gl/normat... |
10 | A Coruña | 2024-07-30 | BOP de 13 de decembro de 2004 | Reglamento Organico | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | EDICTO - Boletín Nº 285. Lunes, 13 de diciembr... | https://www.coruna.gal/transparencia/gl/normat... |
11 | A Coruña | 2024-07-30 | Regulamento orgánico de reclamacións económico... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/1171021491568/... | \n1\n \nREGLAMENTO DEL ÓRGANO PARA LA RESOLUC... | https://www.coruna.gal/transparencia/gl/normat... |
12 | A Coruña | 2024-07-30 | BOP de 13 de decembro de 2004 | Reglamento Organico | Reglamentos | https://bop.dicoruna.es/bopportal/publicado/20... | EDICTO - Boletín Nº 285. Lunes, 13 de diciembr... | https://www.coruna.gal/transparencia/gl/normat... |
13 | A Coruña | 2024-07-30 | Regulamento orgánico de suxestións e reclamaci... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/1171021486225/... | \n \n \n \n \n \nREGLAMENTO ORGÁNICO DE LA CO... | https://www.coruna.gal/transparencia/gl/normat... |
14 | A Coruña | 2024-07-30 | BOP de 13 de decembro de 2004 | Reglamento Organico | Reglamentos | http://bop.dicoruna.es/bopportal/publicado/200... | EDICTO - Boletín Nº 285. Lunes, 13 de diciembr... | https://www.coruna.gal/transparencia/gl/normat... |
15 | A Coruña | 2024-07-30 | BOP de 12 de febreiro de 2005 | Reglamento Organico | Reglamentos | http://bop.dicoruna.es/bopportal/publicado/200... | ANUNCIO - Boletín Nº 34. Sábado, 12 de febrero... | https://www.coruna.gal/transparencia/gl/normat... |
16 | A Coruña | 2024-07-30 | Regulamento orgánico municipal (ROM) 2004.pdf ... | Reglamento Organico | Reglamentos | https://www.coruna.gal/descarga/90010448640982... | Reglamentos Orgánicos \nHabiéndose aprobado d... | https://www.coruna.gal/transparencia/gl/normat... |
df_reg.to_csv('/content/drive/MyDrive/Colab Notebooks/14 Scraping/A_Coruna/a_coruna_reglamentos.csv', index=False)
df_ordenanzas.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 166 entries, 0 to 165 Data columns (total 8 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 ciudad 166 non-null object 1 date 166 non-null object 2 titulo 166 non-null object 3 grupo 166 non-null object 4 subgrupo 166 non-null object 5 url 166 non-null object 6 content 166 non-null object 7 url_subgrupo 166 non-null object dtypes: object(8) memory usage: 10.5+ KB
df_reg.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 17 entries, 0 to 16 Data columns (total 8 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 ciudad 17 non-null object 1 date 17 non-null object 2 titulo 17 non-null object 3 grupo 17 non-null object 4 subgrupo 17 non-null object 5 url 17 non-null object 6 content 17 non-null object 7 url_subgrupo 17 non-null object dtypes: object(8) memory usage: 1.2+ KB
final_df_coruna = pd.concat([df_ordenanzas, df_reg], axis=0, ignore_index=True)
final_df_coruna.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 183 entries, 0 to 182 Data columns (total 8 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 ciudad 183 non-null object 1 date 183 non-null object 2 titulo 183 non-null object 3 grupo 183 non-null object 4 subgrupo 183 non-null object 5 url 183 non-null object 6 content 183 non-null object 7 url_subgrupo 183 non-null object dtypes: object(8) memory usage: 11.6+ KB
!apt-get update
!apt-get install -y mysql-server mysql-client
!service mysql start
!mysql -e "CREATE DATABASE testdb;"
!mysql -e "CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'testpassword';"
!mysql -e "GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';"
!mysql -e "GRANT PROCESS, RELOAD, SHOW DATABASES ON *.* TO 'testuser'@'localhost';"
!mysql -e "FLUSH PRIVILEGES;"
Get:1 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease [3,626 B] Get:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 InRelease [1,581 B] Get:3 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Packages [861 kB] Hit:4 http://archive.ubuntu.com/ubuntu jammy InRelease Get:5 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB] Get:6 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] Hit:7 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease Ign:8 https://r2u.stat.illinois.edu/ubuntu jammy InRelease Get:9 https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu jammy InRelease [24.3 kB] Get:10 https://r2u.stat.illinois.edu/ubuntu jammy Release [5,713 B] Hit:11 https://ppa.launchpadcontent.net/ubuntugis/ppa/ubuntu jammy InRelease Get:12 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB] Get:13 https://r2u.stat.illinois.edu/ubuntu jammy Release.gpg [793 B] Get:14 https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu jammy/main amd64 Packages [49.2 kB] Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2,393 kB] Get:16 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [2,780 kB] Get:17 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 Packages [2,553 kB] Get:18 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1,421 kB] Get:19 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [2,882 kB] Get:20 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1,130 kB] Get:21 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [2,112 kB] Get:22 https://r2u.stat.illinois.edu/ubuntu jammy/main all Packages [8,219 kB] Fetched 24.8 MB in 5s (5,156 kB/s) Reading package lists... Done W: Skipping acquire of configured file 'main/source/Sources' as repository 'https://r2u.stat.illinois.edu/ubuntu jammy InRelease' does not seem to provide it (sources.list entry misspelt?) Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libcgi-fast-perl libcgi-pm-perl libclone-perl libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libprotobuf-lite23 liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-server-8.0 mysql-server-core-8.0 Suggested packages: libdata-dump-perl libipc-sharedcache-perl libbusiness-isbn-perl libwww-perl mailx tinyca The following NEW packages will be installed: libcgi-fast-perl libcgi-pm-perl libclone-perl libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libprotobuf-lite23 liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client mysql-client-8.0 mysql-client-core-8.0 mysql-server mysql-server-8.0 mysql-server-core-8.0 0 upgraded, 26 newly installed, 0 to remove and 58 not upgraded. Need to get 29.6 MB of archives. After this operation, 243 MB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 mysql-client-core-8.0 amd64 8.0.37-0ubuntu0.22.04.3 [2,762 kB] Get:2 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 mysql-client-8.0 amd64 8.0.37-0ubuntu0.22.04.3 [22.7 kB] Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmecab2 amd64 0.996-14build9 [199 kB] Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libprotobuf-lite23 amd64 3.12.4-1ubuntu7.22.04.1 [209 kB] Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 mysql-server-core-8.0 amd64 8.0.37-0ubuntu0.22.04.3 [17.6 MB] Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 mysql-server-8.0 amd64 8.0.37-0ubuntu0.22.04.3 [1,438 kB] Get:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libhtml-tagset-perl all 3.20-4 [12.5 kB] Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 liburi-perl all 5.10-1 [78.8 kB] Get:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 libhtml-parser-perl amd64 3.76-1build2 [88.4 kB] Get:10 http://archive.ubuntu.com/ubuntu jammy/main amd64 libcgi-pm-perl all 4.54-1 [188 kB] Get:11 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfcgi0ldbl amd64 2.4.2-2build2 [28.0 kB] Get:12 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfcgi-perl amd64 0.82+ds-1build1 [22.8 kB] Get:13 http://archive.ubuntu.com/ubuntu jammy/main amd64 libcgi-fast-perl all 1:2.15-1 [10.5 kB] Get:14 http://archive.ubuntu.com/ubuntu jammy/main amd64 libclone-perl amd64 0.45-1build3 [11.0 kB] Get:15 http://archive.ubuntu.com/ubuntu jammy/main amd64 libencode-locale-perl all 1.05-1.1 [11.8 kB] Get:16 http://archive.ubuntu.com/ubuntu jammy/main amd64 libfcgi-bin amd64 2.4.2-2build2 [11.2 kB] Get:17 http://archive.ubuntu.com/ubuntu jammy/main amd64 libhtml-template-perl all 2.97-1.1 [59.1 kB] Get:18 http://archive.ubuntu.com/ubuntu jammy/main amd64 libhttp-date-perl all 6.05-1 [9,920 B] Get:19 http://archive.ubuntu.com/ubuntu jammy/main amd64 libio-html-perl all 1.004-2 [15.4 kB] Get:20 http://archive.ubuntu.com/ubuntu jammy/main amd64 liblwp-mediatypes-perl all 6.04-1 [19.5 kB] Get:21 http://archive.ubuntu.com/ubuntu jammy/main amd64 libhttp-message-perl all 6.36-1 [76.8 kB] Get:22 http://archive.ubuntu.com/ubuntu jammy/main amd64 mecab-utils amd64 0.996-14build9 [4,850 B] Get:23 http://archive.ubuntu.com/ubuntu jammy/main amd64 mecab-ipadic all 2.7.0-20070801+main-3 [6,718 kB] Get:24 http://archive.ubuntu.com/ubuntu jammy/main amd64 mecab-ipadic-utf8 all 2.7.0-20070801+main-3 [4,384 B] Get:25 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 mysql-client all 8.0.37-0ubuntu0.22.04.3 [9,354 B] Get:26 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 mysql-server all 8.0.37-0ubuntu0.22.04.3 [9,462 B] Fetched 29.6 MB in 4s (6,597 kB/s) Preconfiguring packages ... Selecting previously unselected package mysql-client-core-8.0. (Reading database ... 123589 files and directories currently installed.) Preparing to unpack .../00-mysql-client-core-8.0_8.0.37-0ubuntu0.22.04.3_amd64.deb ... Unpacking mysql-client-core-8.0 (8.0.37-0ubuntu0.22.04.3) ... Selecting previously unselected package mysql-client-8.0. Preparing to unpack .../01-mysql-client-8.0_8.0.37-0ubuntu0.22.04.3_amd64.deb ... Unpacking mysql-client-8.0 (8.0.37-0ubuntu0.22.04.3) ... Selecting previously unselected package libmecab2:amd64. Preparing to unpack .../02-libmecab2_0.996-14build9_amd64.deb ... Unpacking libmecab2:amd64 (0.996-14build9) ... Selecting previously unselected package libprotobuf-lite23:amd64. Preparing to unpack .../03-libprotobuf-lite23_3.12.4-1ubuntu7.22.04.1_amd64.deb ... Unpacking libprotobuf-lite23:amd64 (3.12.4-1ubuntu7.22.04.1) ... Selecting previously unselected package mysql-server-core-8.0. Preparing to unpack .../04-mysql-server-core-8.0_8.0.37-0ubuntu0.22.04.3_amd64.deb ... Unpacking mysql-server-core-8.0 (8.0.37-0ubuntu0.22.04.3) ... Selecting previously unselected package mysql-server-8.0. Preparing to unpack .../05-mysql-server-8.0_8.0.37-0ubuntu0.22.04.3_amd64.deb ... Unpacking mysql-server-8.0 (8.0.37-0ubuntu0.22.04.3) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../06-libhtml-tagset-perl_3.20-4_all.deb ... Unpacking libhtml-tagset-perl (3.20-4) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../07-liburi-perl_5.10-1_all.deb ... Unpacking liburi-perl (5.10-1) ... Selecting previously unselected package libhtml-parser-perl:amd64. Preparing to unpack .../08-libhtml-parser-perl_3.76-1build2_amd64.deb ... Unpacking libhtml-parser-perl:amd64 (3.76-1build2) ... Selecting previously unselected package libcgi-pm-perl. Preparing to unpack .../09-libcgi-pm-perl_4.54-1_all.deb ... Unpacking libcgi-pm-perl (4.54-1) ... Selecting previously unselected package libfcgi0ldbl:amd64. Preparing to unpack .../10-libfcgi0ldbl_2.4.2-2build2_amd64.deb ... Unpacking libfcgi0ldbl:amd64 (2.4.2-2build2) ... Selecting previously unselected package libfcgi-perl:amd64. Preparing to unpack .../11-libfcgi-perl_0.82+ds-1build1_amd64.deb ... Unpacking libfcgi-perl:amd64 (0.82+ds-1build1) ... Selecting previously unselected package libcgi-fast-perl. Preparing to unpack .../12-libcgi-fast-perl_1%3a2.15-1_all.deb ... Unpacking libcgi-fast-perl (1:2.15-1) ... Selecting previously unselected package libclone-perl. Preparing to unpack .../13-libclone-perl_0.45-1build3_amd64.deb ... Unpacking libclone-perl (0.45-1build3) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../14-libencode-locale-perl_1.05-1.1_all.deb ... Unpacking libencode-locale-perl (1.05-1.1) ... Selecting previously unselected package libfcgi-bin. Preparing to unpack .../15-libfcgi-bin_2.4.2-2build2_amd64.deb ... Unpacking libfcgi-bin (2.4.2-2build2) ... Selecting previously unselected package libhtml-template-perl. Preparing to unpack .../16-libhtml-template-perl_2.97-1.1_all.deb ... Unpacking libhtml-template-perl (2.97-1.1) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../17-libhttp-date-perl_6.05-1_all.deb ... Unpacking libhttp-date-perl (6.05-1) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../18-libio-html-perl_1.004-2_all.deb ... Unpacking libio-html-perl (1.004-2) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../19-liblwp-mediatypes-perl_6.04-1_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../20-libhttp-message-perl_6.36-1_all.deb ... Unpacking libhttp-message-perl (6.36-1) ... Selecting previously unselected package mecab-utils. Preparing to unpack .../21-mecab-utils_0.996-14build9_amd64.deb ... Unpacking mecab-utils (0.996-14build9) ... Selecting previously unselected package mecab-ipadic. Preparing to unpack .../22-mecab-ipadic_2.7.0-20070801+main-3_all.deb ... Unpacking mecab-ipadic (2.7.0-20070801+main-3) ... Selecting previously unselected package mecab-ipadic-utf8. Preparing to unpack .../23-mecab-ipadic-utf8_2.7.0-20070801+main-3_all.deb ... Unpacking mecab-ipadic-utf8 (2.7.0-20070801+main-3) ... Selecting previously unselected package mysql-client. Preparing to unpack .../24-mysql-client_8.0.37-0ubuntu0.22.04.3_all.deb ... Unpacking mysql-client (8.0.37-0ubuntu0.22.04.3) ... Selecting previously unselected package mysql-server. Preparing to unpack .../25-mysql-server_8.0.37-0ubuntu0.22.04.3_all.deb ... Unpacking mysql-server (8.0.37-0ubuntu0.22.04.3) ... Setting up libhttp-date-perl (6.05-1) ... Setting up libmecab2:amd64 (0.996-14build9) ... Setting up mysql-client-core-8.0 (8.0.37-0ubuntu0.22.04.3) ... Setting up libfcgi0ldbl:amd64 (2.4.2-2build2) ... Setting up libclone-perl (0.45-1build3) ... Setting up libhtml-tagset-perl (3.20-4) ... Setting up liblwp-mediatypes-perl (6.04-1) ... Setting up libfcgi-bin (2.4.2-2build2) ... Setting up libencode-locale-perl (1.05-1.1) ... Setting up libprotobuf-lite23:amd64 (3.12.4-1ubuntu7.22.04.1) ... Setting up mecab-utils (0.996-14build9) ... Setting up libio-html-perl (1.004-2) ... Setting up mysql-server-core-8.0 (8.0.37-0ubuntu0.22.04.3) ... Setting up mysql-client-8.0 (8.0.37-0ubuntu0.22.04.3) ... Setting up libfcgi-perl:amd64 (0.82+ds-1build1) ... Setting up liburi-perl (5.10-1) ... Setting up libhttp-message-perl (6.36-1) ... Setting up mysql-server-8.0 (8.0.37-0ubuntu0.22.04.3) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of stop. update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode Renaming removed key_buffer and myisam-recover options (if present) mysqld will log errors to /var/log/mysql/error.log mysqld is running as pid 63320 Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service. invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up mysql-client (8.0.37-0ubuntu0.22.04.3) ... Setting up mecab-ipadic (2.7.0-20070801+main-3) ... Compiling IPA dictionary for Mecab. This takes long time... reading /usr/share/mecab/dic/ipadic/unk.def ... 40 emitting double-array: 100% |###########################################| /usr/share/mecab/dic/ipadic/model.def is not found. skipped. reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477 reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27328 reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208 reading /usr/share/mecab/dic/ipadic/Others.csv ... 2 reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252 reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19 reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328 reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171 reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135 reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032 reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210 reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146 reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199 reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750 reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146 reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393 reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42 reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668 reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151 reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999 reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91 reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795 reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42 reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120 reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221 reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202 emitting double-array: 100% |###########################################| reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316 emitting matrix : 100% |###########################################| done! update-alternatives: using /var/lib/mecab/dic/ipadic to provide /var/lib/mecab/dic/debian (mecab-dictionary) in auto mode Setting up mecab-ipadic-utf8 (2.7.0-20070801+main-3) ... Compiling IPA dictionary for Mecab. This takes long time... reading /usr/share/mecab/dic/ipadic/unk.def ... 40 emitting double-array: 100% |###########################################| /usr/share/mecab/dic/ipadic/model.def is not found. skipped. reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477 reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27328 reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208 reading /usr/share/mecab/dic/ipadic/Others.csv ... 2 reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252 reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19 reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328 reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171 reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135 reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032 reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210 reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146 reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199 reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750 reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146 reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393 reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42 reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668 reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151 reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999 reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91 reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795 reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42 reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120 reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221 reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202 emitting double-array: 100% |###########################################| reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316 emitting matrix : 100% |###########################################| done! update-alternatives: using /var/lib/mecab/dic/ipadic-utf8 to provide /var/lib/mecab/dic/debian (mecab-dictionary) in auto mode Setting up libhtml-parser-perl:amd64 (3.76-1build2) ... Setting up mysql-server (8.0.37-0ubuntu0.22.04.3) ... Setting up libcgi-pm-perl (4.54-1) ... Setting up libhtml-template-perl (2.97-1.1) ... Setting up libcgi-fast-perl (1:2.15-1) ... Processing triggers for man-db (2.10.2-1) ... Processing triggers for libc-bin (2.35-0ubuntu3.4) ... /sbin/ldconfig.real: /usr/local/lib/libtbbbind.so.3 is not a symbolic link /sbin/ldconfig.real: /usr/local/lib/libur_adapter_level_zero.so.0 is not a symbolic link /sbin/ldconfig.real: /usr/local/lib/libur_loader.so.0 is not a symbolic link /sbin/ldconfig.real: /usr/local/lib/libtbbmalloc_proxy.so.2 is not a symbolic link /sbin/ldconfig.real: /usr/local/lib/libtbbmalloc.so.2 is not a symbolic link /sbin/ldconfig.real: /usr/local/lib/libtbbbind_2_5.so.3 is not a symbolic link /sbin/ldconfig.real: /usr/local/lib/libur_adapter_opencl.so.0 is not a symbolic link /sbin/ldconfig.real: /usr/local/lib/libtbb.so.12 is not a symbolic link /sbin/ldconfig.real: /usr/local/lib/libtbbbind_2_0.so.3 is not a symbolic link * Starting MySQL database server mysqld su: warning: cannot change directory to /nonexistent: No such file or directory ...done.
import requests
from bs4 import BeautifulSoup
import pandas as pd
from datetime import datetime
from io import BytesIO
import mysql.connector
# Configuración de la conexión a MySQL
mydb = mysql.connector.connect(
host="localhost",
user="testuser",
password="testpassword",
database="testdb"
)
mycursor = mydb.cursor()
# Create the table in the database if it doesn't exist and adjust column types
create_table_query = """
CREATE TABLE IF NOT EXISTS normativa (
id INT AUTO_INCREMENT PRIMARY KEY,
ciudad VARCHAR(255),
date DATE,
titulo TEXT,
grupo VARCHAR(255),
subgrupo TEXT,
url TEXT,
content MEDIUMTEXT
)
"""
mycursor.execute(create_table_query)
# Insertar los datos en la tabla de MySQL
try:
for index, row in final_df_coruna.iterrows():
sql = "INSERT INTO normativa (ciudad, date, titulo, grupo, subgrupo, url, content) VALUES (%s, %s, %s, %s, %s, %s, %s)"
val = (row['ciudad'], row['date'], row['titulo'], row['grupo'], row['subgrupo'], row['url'], row['content'])
mycursor.execute(sql, val)
print(row['titulo'], " insertado en tabla.")
mydb.commit()
print(mycursor.rowcount, "registro(s) insertado(s).")
except mysql.connector.Error as err:
print("Error: {}".format(err))
# finally:
# # Close the cursor and connection
# mycursor.close()
# mydb.close()
BOP núm 114 de 17 de xuño de 2023 insertado en tabla. Certificado acordo plenario aprobación definitiva (6 MB) insertado en tabla. Aprobación definitiva da ordenanza reguladora da administración dixital no Concello da Coruña – BOP (312 KB) insertado en tabla. Emenda de erro na publicación do texto articulado da ordenanza reguladora da administración dixital no Concello da Coruña – BOP (123 KB) insertado en tabla. BOP núm. 116 do martes 22 de xuño de 2021 insertado en tabla. Ordenanza do uso da lingua no Concello da Coruña (119 KB) insertado en tabla. LIBRO-ORDENANZAS-2024.pdf (2 MB) insertado en tabla. Ordenanza fiscal núm. 01-Reguladora da taxa por expedición de documentos (58 KB) insertado en tabla. Ordenanza Fiscal nº 02-Reguladora da taxa pola prestación de servizos de vixilancia de transportes. (46 KB) insertado en tabla. Ordenanza Fiscal nº 03-Reguladora da taxa polo otorgamiento de licenzas e outros servizos urbanísticos. (68 KB) insertado en tabla. Ordenanza Fiscal nº 04-Reguladora da taxa pola intervención municipal nas comunicacións previas, declaracións responsables e licenzas de apertura de establecementos. (67 KB) insertado en tabla. Ordenanza Fiscal nº 06-Reguladora da taxa por prestación do servizo de recollida e tratamento de lixos e residuos sólidos urbanos. (60 KB) insertado en tabla. Ordenanza Fiscal nº 07-Reguladora da taxa por prestación de servizo de rede de sumidoiros e depuración de augas residuais. (49 KB) insertado en tabla. Ordenanza Fiscal nº 08-Reguladora da taxa por prestación do servizo de extinción de incendios, salvamentos e outros. (55 KB) insertado en tabla. Ordenanza Fiscal nº 09-Reguladora da taxa de cemiterios municipais, condución de cadáveres e outros servizos fúnebres. (64 KB) insertado en tabla. Ordenanza Fiscal nº 10-Prestación de servizos de sanidade preventiva relacionados con animais de compañia (104 KB) insertado en tabla. Ordenanza Fiscal nº 11-Reguladora da taxa por otorgamiento de licenza de primeira ocupación de vivendas (99 KB) insertado en tabla. Ordenanza Fiscal nº 12-Reguladora da taxa polo otorgamiento de licenzas para industrias rueiras e ambulantes (170 KB) insertado en tabla. Ordenanza Fiscal nº 13-Reguladora da taxa polo otorgamiento de licenzas e autorizacións administrativas de servizos urbanos de transporte. (174 KB) insertado en tabla. Ordenanza Fiscal nº 14-Reguladora da taxa por inmovilización, retirada e almacenamento de vehículos. (174 KB) insertado en tabla. Ordenanza Fiscal nº 15-Reguladora da taxa pola prestación dos servizos nas instalacións Deportivas Municipais (284 KB) insertado en tabla. Ordenanza Fiscal nº 16-Reguladora da taxa pola prestación dos servizos nos Museos e outras instalacións culturais do Concello da Coruña (200 KB) insertado en tabla. Ordenanza Fiscal nº 17-Reguladora da taxa por prestación dos servizos da Estación de Autobuses. (243 KB) insertado en tabla. Ordenanza Fiscal nº 18-Reguladora da taxa por prestación de servizos do catálogo de servizos domiciliarios. (210 KB) insertado en tabla. Ordenanza Fiscal nº 21-Reguladora da taxa que rexe o estacionamento de vehículos de tracción mecánica en vías públicas (92 KB) insertado en tabla. Ordenanza Fiscal nº 22-Reguladora da taxa pola ocupación do subsolo , do chan e do voo da vías públicas e doutros terreos de uso público local (56 KB) insertado en tabla. Ordenanza fiscal nº 23, reguladora da taxa pola utilización privativa e Aproveitamentos especiais constituídos en solo, subsolo e voo da vía Pública a favor de empresas explotadoras de servizos de telefonía móbil (31 KB) insertado en tabla. Ordenanza Fiscal nº 24-Reguladora da taxa por utilización privativa ou aproveitamentos especiais constituídos no chan, subsolo ou voo das vías públicas municipais polas empresas explotadoras de servizos de subministracións que afecten á xeneralidade ou a unha parte importante da veciñanza. (86 KB) insertado en tabla. Ordenanza Fiscal nº 25-Reguladora da taxa por entrada de vehículos desde a vúa pública, reservas de espazo para aparcadoiro, cargas, descargas e outras actividades particulares. (108 KB) insertado en tabla. Ordenanza Fiscal nº 26-Reguladora da taxa pola apertura de gabias, calicatas e calas en terreo de uso público, así como as remociones de pavimento ou beirarrúas na vía pública. (168 KB) insertado en tabla. Ordenanza Fiscal nº 27-Reguladora da taxa por ocupación de terreos de uso público local con mercancias, materiais de construción , valos e outras instalacións. (192 KB) insertado en tabla. Ordenanza Fiscal nº 28-Reguladora da taxa por ocupación de terreos de uso público con mesas e cadeiras, tablados e outros elementos de finalidade lucrativa (103 KB) insertado en tabla. Ordenanza Fiscal nº 29-Reguladora da taxa por ocupación de terreos de uso público con quioscos. (167 KB) insertado en tabla. Ordenanza Fiscal nº 30-Reguladora da taxa por prestación de servizos nos Mercados Municipais (208 KB) insertado en tabla. Ordenanza Fiscal nº 31-Reguladora da taxa por ocupación de terreos de uso público con postos, barracas, casetas de venda, espectáculos, atraccións ou recreo, así como industrias rúa e ambulantes e rodaxe cinematográfica. (99 KB) insertado en tabla. Ordenanza Fiscal nº 32-Reguladora da taxa pola ocupación de terreos de uso público local con depósitos e aparellos distribuidores de combustible e, en xeral, de calquera artigo ou mercadoría; así como polo aproveitamento especial do dominio público local derivado da utilidade asociada á instalación de depósitos, aparellos distribuidores, caixeiros e outros elementos similares con acceso ou fronte a vías públicas ou outros terreos de dominio público. (66 KB) insertado en tabla. Ordenanza Fiscal nº 33-Reguladora da taxa pola utilización de infraestruturas municipais para a instalación de fíos condutores, cables e outros transportadores análogos (87 KB) insertado en tabla. Ordenanza Fiscal nº 51-Reguladora do imposto sobre bens inmobles. (54 KB) insertado en tabla. Ordenanza Fiscal nº 52-Reguladora do imposto sobre vehículos de tracción mecánica. (60 KB) insertado en tabla. Ordenanza Fiscal nº 53-Reguladora do imposto municipal sobre incremento de valor dos terreos de natureza urbana. (197 KB) insertado en tabla. Ordenanza Fiscal nº 54-Reguladora do imposto sobre actividades económicas. (190 KB) insertado en tabla. Ordenanza Fiscal nº 55-Reguladora do imposto sobre construcións, instalacións e obras. (206 KB) insertado en tabla. Ordenanza nº 41-Reguladora do prezo público por prestación dos servizos do centro de procesamento de datos. (71 KB) insertado en tabla. Ordenanza nº 42-2022-Reguladora do prezo público por subministración de auga potable aos municipios da área da Coruña (48 KB) insertado en tabla. Ordenanza nº 43-Reguladora do prezo público por prestación de servizos e utilización de instalacións culturais, educativas, de lecer e análogas de titularidade municipal. (182 KB) insertado en tabla. Ordenanza nº 44-Reguladora do prezo público pola prestación de servizos e utilización de instalacións de titularidade pública municipal cuxa xestión está encomendada ao IMCE. (148 KB) insertado en tabla. Ordenanza nº 45-Reguladora dos prezos públicos por utilización de bens de propiedade municipal. (65 KB) insertado en tabla. Ordenanza nº 46-Ordenanza Reguladora do Prezo Público pola Prestación de Servizos e Utilización de Instalacións nos Centros Municipais de Empresas da Grela e do Papagaio (129 KB) insertado en tabla. Ordenanza Reguladora Prestación Patrimonial non tributaria pola Subministración e Utilización de Auga Potable (108 KB) insertado en tabla. Ordenanza Reguladora Prestación Patrimonial non tributaria polo Servizo de Saneamento e Depuracion (72 KB) insertado en tabla. Ordenanza Xeral de Contribucións Especiais (146 KB) insertado en tabla. Ordenanza Xeral de Prezos Públicos (110 KB) insertado en tabla. Ordenanza Xeral de Recadación (506 KB) insertado en tabla. Ordenanza Xeral de Xestión (983 KB) insertado en tabla. Regulamento para Inspección de Tributos Municipais (235 KB) insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2014/08/11/2014_0000008641.pdf insertado en tabla. BOP número 151 do 11/08/2014 insertado en tabla. Ordenanza de Protección Contra a Contaminación Acústica (535 KB) insertado en tabla. Ordenanza de verteduras da Coruña (819 KB) insertado en tabla. Modificación puntual da Ordenanza de verteduras (89 KB) insertado en tabla. BOP núm. 214 do 17/09/2005 insertado en tabla. BOP núm 2015 de 16/12/2020 insertado en tabla. Ordenanza de xestión de residuos municipais e limpeza viaria modificada 01.10.2020 (668 KB) insertado en tabla. BOP núm 4 de 5 de xaneiro de 2007 insertado en tabla. MercadosCastGal.pdf (287 KB) insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2014/08/11/2014_0000008643.pdf insertado en tabla. ordenanza-usos-viculados-con-la-hosteleria.pdf (195 KB) insertado en tabla. BOP núm 142 de 21 xuño 2008 insertado en tabla. Ordenanza de convivencia e lecer no espazo público (66 KB) insertado en tabla. BOP nº. 244 de 23/10/1993. insertado en tabla. servizo_vixilancia_nocturna.pdf (101 KB) insertado en tabla. BOP número 79 do 26/04/2018 insertado en tabla. Ordenanza Municipal de Protección contra Incendios (218 KB) insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/1998/08/27/12492-PD-12533.htm insertado en tabla. BOP nº 196 de 27 de agosto de 1998 insertado en tabla. BOP nº 79 de 9/4/1999 insertado en tabla. BOP nº88 de 19 de abril de 2004 insertado en tabla. BOP nº169 de 5 de setembro de 2013 insertado en tabla. BOP nº97 do 23 de maio de 2014 insertado en tabla. BOP Nº27 de 10 de febreiro de 2015 insertado en tabla. BOP Nº91 de 18 de maio de 2015 insertado en tabla. BOP Nº108 de 9 de xuño de 2017 insertado en tabla. BOP Nº 248 de 31 de decembro de 2019 insertado en tabla. BOP Nº 124 de 6 de agosto de 2020 insertado en tabla. BOP Nº 198 de 20 de novembro de 2020 insertado en tabla. BOP Nº 198 de 20 de novembro de 2020 insertado en tabla. ORDENANZA DO SERVIZO PÚBLICO DE ORDENACIÓN E REGULACIÓN DE APARCAMENTO (ORA) (361 KB) insertado en tabla. BOP número 143 do 24/06/1997 insertado en tabla. Ordenanza para a protección e tenza de animais (964 KB) insertado en tabla. Ordenanza para a protección e tenza de animais (921 KB) insertado en tabla. BOP número 100 do 28/05/2013 insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2013/05/28/2013_0000006135.pdf insertado en tabla. Ordenanza municipal reguladora da instalación de terrazas en espazos de uso público (versión en castelán) (232 KB) insertado en tabla. Ordenanza municipal reguladora da instalación de terrazas en espazos de uso público (versión en galego) (250 KB) insertado en tabla. BOP insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/1999/02/01/489-PD-519.htm insertado en tabla. BOP nº 204 da Coruña en castelán e en galego con data 25 de outubro de 2019 insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2019/10/25/2019_0000008487.pdf insertado en tabla. Ordenanza municipal dá Coruña para a igualdade na diversidade aprobada definitivamente e por unanimidade non Pleno ordinario do 3 de outubro de 2019 (galego) (279 KB) insertado en tabla. Ordenanza municipal da Coruña para a igualdade na diversidade aprobada definitivamente e por unanimidade no Pleno ordinario do 3 de outubro de 2019 (castelán) (282 KB) insertado en tabla. BOP Nº 92. Martes, 22 de abril de 2008 insertado en tabla. BOP núm 73 de 18 abril do 2012 insertado en tabla. https://bop.dicoruna.es/bop/2008/04/22/08-4383-x.htm insertado en tabla. Modificacion-ordenanza-Emergencia-Social.pdf (172 KB) insertado en tabla. BOP núm. 73 de 18 de abril de 2012 insertado en tabla. Ordenanza municipal do servizo de axuda a domicilio A Coruña (133 KB) insertado en tabla. BOP núm. 162 de 26 agosto 2016 insertado en tabla. Ordenanza municipal reguladora da Renda Social Municipal (199 KB) insertado en tabla. Boletin-N-44-Lunes-23-de-febrero-do-2009-Concello-da-Coruna.pdf (164 KB) insertado en tabla. BOP núm. 40 do 19/02/2005 insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2005/02/19/1824-0.htm insertado en tabla. 1Ordenanza-General-de-Subvenciones-Area-Bienestar.pdf (77 KB) insertado en tabla. BOP Nº 47 do 26 de febreiro de 2008 insertado en tabla. https://bop.dicoruna.es/bop/2008/02/26/Bop20080226.pdf insertado en tabla. Ordenanza_Subvenciones_Servizo_Mobilidade (6 MB) insertado en tabla. BOP nº. 244 de 23/10/1993. insertado en tabla. BOP número 119 do 27/05/2003 insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2003/05/27/5064-G.htm insertado en tabla. Ordenanza de circulación (160 KB) insertado en tabla. BOP número 275 de data 30-11-93 insertado en tabla. BOP de data 26/10/95 insertado en tabla. BOP número 280 de data 5/12/96 insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/1992/11/14/Bop19921114.pdf insertado en tabla. transportes.pdf (504 KB) insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/1998/08/27/12492-PD-12533.htm insertado en tabla. BOP nº 196 de 27 de agosto de 1998 insertado en tabla. BOP nº 79 de 9/4/1999 insertado en tabla. BOP nº88 de 19 de abril de 2004 insertado en tabla. BOP nº169 de 5 de setembro de 2013 insertado en tabla. BOP nº97 do 23 de maio de 2014 insertado en tabla. BOP Nº27 de 10 de febreiro de 2015 insertado en tabla. BOP Nº91 de 18 de maio de 2015 insertado en tabla. BOP Nº108 de 9 de xuño de 2017 insertado en tabla. BOP Nº 248 de 31 de decembro de 2019 insertado en tabla. BOP Nº 124 de 6 de agosto de 2020 insertado en tabla. BOP Nº 198 de 20 de novembro de 2020 insertado en tabla. BOP Nº 198 de 20 de novembro de 2020 insertado en tabla. ORDENANZA DO SERVIZO PÚBLICO DE ORDENACIÓN E REGULACIÓN DE APARCAMENTO (ORA) (361 KB) insertado en tabla. BOP número 100 do 28/05/2013 insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2013/05/28/2013_0000006135.pdf insertado en tabla. Ordenanza municipal reguladora da instalación de terrazas en espazos de uso público (versión en castelán) (232 KB) insertado en tabla. Ordenanza municipal reguladora da instalación de terrazas en espazos de uso público (versión en galego) (250 KB) insertado en tabla. CRITERIO INTERPRETATIVO do artigo 5 da Ordenanza reguladora da concesión de axudas (167 KB) insertado en tabla. Ordenanza Conservación e rehabilitación de inmobles (153 KB) insertado en tabla. BOP Nº 97. Venres, 30 de abril de 1999 insertado en tabla. cedula_urbanistica.pdf (36 KB) insertado en tabla. BOP núm 75 de 22 de abril de 2014 insertado en tabla. Ordenanza subvenciones PEPRI (183 KB) insertado en tabla. BOP nº. 244 de 23/10/1993. insertado en tabla. BOP número 151 do 11/08/2014 insertado en tabla. Ordenanza municipal de obras, instalacións e actividades ou servizos (303 KB) insertado en tabla. Boletín Nº 273. Mércores, 28 de novembro de 2001 insertado en tabla. ordenanza de gabias.pdf (56 KB) insertado en tabla. 01 Memoria (3 MB) insertado en tabla. Ordenanza reguladora da concesión de axudas para a conservación e rehabilitación de edificios de vivenda (175 KB) insertado en tabla. BOP número 100 do 28/05/2013 insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2013/05/28/2013_0000006135.pdf insertado en tabla. Ordenanza municipal reguladora da instalación de terrazas en espazos de uso público (versión en castelán) (232 KB) insertado en tabla. Ordenanza municipal reguladora da instalación de terrazas en espazos de uso público (versión en galego) (250 KB) insertado en tabla. BOP nº 24 de 30/1/1988 insertado en tabla. publicidade_exterior.pdf (76 KB) insertado en tabla. B.Ou.P (Boletín Oficial da Provincia) de data 4 de maio de 2004 insertado en tabla. Ordenanza infraestruturas (castelán).pdf (659 KB) insertado en tabla. Ordenanza reguladora do Centro Municipal de Empresas (139 KB) insertado en tabla. ordenanza ocupación temporal usos relacionados hostalerías (85 KB) insertado en tabla. postos_temporais_de_venda.pdf (65 KB) insertado en tabla. Plan Disposición Fondos (108 KB) insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2019/12/05/2019_0000009701.pdf insertado en tabla. Regulamento Honras Distincións (2009) (Castelán) (154 KB) insertado en tabla. estacion_autobuses.pdf (118 KB) insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/2016/07/22/2016_0000005940.pdf insertado en tabla. Regulamento%20de%20rexime%20interior%20do%20Cemiterio%20Municipal%20da%20Coruna-Feans%201980.pdf (150 KB) insertado en tabla. https://bop.dicoruna.es/bopportal/publicado/1999/02/01/488-PD-518.htm insertado en tabla. Regulamento de organización e funcionamento das escolas infantís integradas na Rede de Escolas Infantís do Concello da Coruña insertado en tabla. BOP de 13 de decembro de 2004 insertado en tabla. Regulamento orgánico de participación cidadá (92 KB) insertado en tabla. BOP de 13 de decembro de 2004 insertado en tabla. Regulamento orgánico de reclamacións económico-administrativas (70 KB) insertado en tabla. BOP de 13 de decembro de 2004 insertado en tabla. Regulamento orgánico de suxestións e reclamacións (45 KB) insertado en tabla. BOP de 13 de decembro de 2004 insertado en tabla. BOP de 12 de febreiro de 2005 insertado en tabla. Regulamento orgánico municipal (ROM) 2004.pdf (407 KB) insertado en tabla. 1 registro(s) insertado(s).
# Query the database
query = "SELECT * FROM normativa"
df = pd.read_sql(query, mydb)
# Display the DataFrame
df.head()
<ipython-input-127-b7a4fd91b2d3>:3: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy. df = pd.read_sql(query, mydb)
id | ciudad | date | titulo | grupo | subgrupo | url | content | |
---|---|---|---|---|---|---|---|---|
0 | 1 | A Coruña | 2024-07-30 | BOP núm 114 de 17 de xuño de 2023 | Administración y gestión | Ordenanza reguladora da administración dixital... | https://bop.dicoruna.es/bopportal/publicado/20... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... |
1 | 2 | A Coruña | 2024-07-30 | Certificado acordo plenario aprobación definit... | Administración y gestión | Ordenanza reguladora da administración dixital... | https://www.coruna.gal/descarga/1453839849193/... | Concello da Coruña - Plaza de María Pita 1 - 9... |
2 | 3 | A Coruña | 2024-07-30 | Aprobación definitiva da ordenanza reguladora ... | Administración y gestión | Ordenanza reguladora da administración dixital... | https://www.coruna.gal/descarga/1453839849294/... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... |
3 | 4 | A Coruña | 2024-07-30 | Emenda de erro na publicación do texto articul... | Administración y gestión | Ordenanza reguladora da administración dixital... | https://www.coruna.gal/descarga/1453839849665/... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... |
4 | 5 | A Coruña | 2024-07-30 | BOP núm. 116 do martes 22 de xuño de 2021 | Administración y gestión | Ordenanza reguladora do uso da lingua galega n... | https://bop.dicoruna.es/bopportal/publicado/20... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... |
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 183 entries, 0 to 182 Data columns (total 8 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 id 183 non-null int64 1 ciudad 183 non-null object 2 date 183 non-null object 3 titulo 183 non-null object 4 grupo 183 non-null object 5 subgrupo 183 non-null object 6 url 183 non-null object 7 content 183 non-null object dtypes: int64(1), object(7) memory usage: 11.6+ KB
# Export the database to a SQL dump file
!mysqldump -u testuser -ptestpassword testdb > "/content/drive/My Drive/Colab Notebooks/14 Scraping/A_Coruna/a_coruna.sql"
mysqldump: [Warning] Using a password on the command line interface can be insecure.
import pandas as pd
from sqlalchemy import create_engine
# Define database connection parameters
db_config = {
"host":"localhost",
"user":"testuser",
"password":"testpassword",
"database":"testdb"
}
# Establish the connection
connection_url = f"mysql+mysqlconnector://{db_config['user']}:{db_config['password']}@{db_config['host']}/{db_config['database']}"
# Create an SQLAlchemy engine
engine = create_engine(connection_url)
# Define the SQL query to select data
query = "SELECT * FROM normativa"
# Load data into a DataFrame
df = pd.read_sql(query, engine)
# Print the DataFrame
df.head()
id | ciudad | date | titulo | grupo | subgrupo | url | content | |
---|---|---|---|---|---|---|---|---|
0 | 1 | A Coruña | 2024-07-30 | BOP núm 114 de 17 de xuño de 2023 | Administración y gestión | Ordenanza reguladora da administración dixital... | https://bop.dicoruna.es/bopportal/publicado/20... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... |
1 | 2 | A Coruña | 2024-07-30 | Certificado acordo plenario aprobación definit... | Administración y gestión | Ordenanza reguladora da administración dixital... | https://www.coruna.gal/descarga/1453839849193/... | Concello da Coruña - Plaza de María Pita 1 - 9... |
2 | 3 | A Coruña | 2024-07-30 | Aprobación definitiva da ordenanza reguladora ... | Administración y gestión | Ordenanza reguladora da administración dixital... | https://www.coruna.gal/descarga/1453839849294/... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... |
3 | 4 | A Coruña | 2024-07-30 | Emenda de erro na publicación do texto articul... | Administración y gestión | Ordenanza reguladora da administración dixital... | https://www.coruna.gal/descarga/1453839849665/... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... |
4 | 5 | A Coruña | 2024-07-30 | BOP núm. 116 do martes 22 de xuño de 2021 | Administración y gestión | Ordenanza reguladora do uso da lingua galega n... | https://bop.dicoruna.es/bopportal/publicado/20... | BOP\nBOLETÍN OFICIAL DA PROVINCIA DA CORUÑA BO... |
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 183 entries, 0 to 182 Data columns (total 8 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 id 183 non-null int64 1 ciudad 183 non-null object 2 date 183 non-null object 3 titulo 183 non-null object 4 grupo 183 non-null object 5 subgrupo 183 non-null object 6 url 183 non-null object 7 content 183 non-null object dtypes: int64(1), object(7) memory usage: 11.6+ KB