<jupyter_start><jupyter_text>Extracción WebscrapingEstos son ejercicios de extracción de datos semi-estructurados mediante webscraping.<jupyter_code>import requests as rq
from bs4 import BeautifulSoup

response = rq.get("https://en.wikipedia.org/wiki/Main_Page")
response
#Me datre detalles de la respuesta
response?
#Me trae detalles de la implementación de esa respuestas
response??
#TODOS LOS MÉTODOS QUE PODEMOS HACER
print(dir(response))
#Metadatos
headers = response.headers
headers
date = headers['date']
date
text = response.text
text
soup = BeautifulSoup(text, 'html.parser')
soup.h1
soup.select('h1')
soup.find_all('div')
soup.select('div')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1, 'fraction_numerical': 0.004411764705882353, 'mean_word_length': 7.107142857142857, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, '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': '346847', 'license': 'MIT', 'n_tokens_mistral': 252, 'n_tokens_neox': 245, 'n_words': 62, 'path': 'NoteBooks/Curso de Ingenieria de Datos/ETL_practice/EXTRACT.ipynb', 'repo_name': 'Alejandro-sin/Learning_Notebooks', 'size': '680'}