? Estas son sus opciones:","Crunchbase","Quiénes somos","Gracias a todos por el increíble apoyo.","Enlaces rápidos","Programa de afiliados","Premium","ProxyScrape prueba premium","Tipos de proxy","Países sustitutos","Casos de uso de proxy","Importante","Política de cookies","Descargo de responsabilidad","Política de privacidad","Condiciones generales","Redes sociales","Facebook","LinkedIn","Twitter","Quora","Telegrama","Discordia","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Bélgica | IVA BE 0749 716 760\n"]}
¿Cómo extraer información significativa de los sitios web de forma rápida y eficaz? Extraer los datos manualmente lleva mucho tiempo. Puede utilizar el web scraping, un método automatizado para obtener datos no tabulares o poco estructurados de sitios web. Después, puedes convertir esos datos en un formato estructurado y utilizable, como una hoja de cálculo.
¿Cómo extraer información significativa de los sitios web de forma rápida y eficaz? Extraer los datos manualmente lleva mucho tiempo. Puede utilizar el web scraping, un método automatizado para obtener datos no tabulares o poco estructurados de sitios web. Después, puedes convertir esos datos en un formato estructurado y utilizable, como una hoja de cálculo o un archivo .csv.
El web scraping permite archivar datos y realizar un seguimiento de los cambios de datos en línea. Las empresas lo utilizan ampliamente con distintos fines. Por ejemplo, las tiendas online lo utilizan para rastrear los precios de sus competidores y las páginas de acceso público. Después, utilizan esta información para ajustar sus precios. Otra práctica habitual del web scraping es el scraping de contactos, en el que las organizaciones recopilan datos personales como números de teléfono o direcciones de correo electrónico con fines de marketing.
¿Por qué hay que extraer grandes cantidades de información de las páginas web? Para entenderlo, fíjese en las siguientes aplicaciones del web scraping.
Puede extraer datos de sitios web siguiendo los pasos que se indican a continuación.
Las librerías que podemos utilizar para web scraping en Python son:
Pandas - Pandas se utiliza para manipular y analizar los datos. Puede utilizar esta biblioteca para extraer los datos y almacenarlos en el formato requerido.
Beautiful Soup - Es un paquete de Python para analizar documentos HTML y XML. Crea árboles de análisis que son útiles en la fácil extracción de datos de sitios web.
Requests - Es una simple librería HTTP.
Utilizaremos este sitio para extraer el número de casos de COVID. Después, analizaremos los datos y crearemos algunas visualizaciones.
Puede importar requests y BeautifulSoup en Python para el web scraping, como se muestra a continuación.
importar peticiones
from bs4 import BeautifulSoup
Especifique la URL del sitio web del que tiene que extraer los datos. Tienes que usar el método requests.get() para enviar una petición GET a la URL especificada. Además, tienes que crear un constructor BeautifulSoup que tomará los dos argumentos de cadena como se muestra en el código siguiente.
url = 'https://www.worldometers.info/coronavirus/countries-where-coronavirus-has-spread/'
página = requests.get(url)
soup = BeautifulSoup(página.texto, 'html.parser')
datos = []
Puede raspar cada elemento de la tabla URL'sURL utilizando el método soup.find_all(). Devuelve un objeto que ofrece acceso basado en índices a las ocurrencias encontradas y puede imprimirse utilizando un bucle for o while.
data_iterator = iter(soup.find_all('td'))
Puedes utilizar un bucle while True que se repita hasta que haya datos disponibles en el iterador.
while True:
try:
country = next(data_iterator). text
confirmados = siguiente(data_iterator). text
muertes = siguiente(data_iterator). text
continente = siguiente(data_iterator).text
Para las columnas "confirmados" y "fallecidos", asegúrese de eliminar las comas y convertir a int.
data.append((
país,
(confirmados.replace(',', '')),
(fallecidos.replace(',', ' ')),
continente
))
excepto StopIteration:
break
Cuando el número de elementos que quedan por iterar sea cero, se producirá el error StopIteration.
Puede extraer los datos del sitio web después de ejecutar el código anterior. Tienes que crear un marco de datos Pandas para analizar los datos más a fondo. En el código siguiente, ordenamos los datos por el número de casos de COVID confirmados.
Importe la biblioteca pandas para crear un marco de datos.
data.sort(key = lambda fila: fila[1], reverse = True)
importar pandas como pd
df = pd.DataFrame(data,columns=['país','Número de casos','Fallecimientos','Continente'],dtype=float)
df.head()
df[' Número de casos'] = [x.replace(',', '') for x in df['Número de casos']]
df[' Número de casos'] = pd.to_numeric(df['Número de casos'])
df
Obtendrá el siguiente resultado:
Para obtener información sobre Dataframe, utilice df.info().
df.info()
Crearemos una nueva columna llamada Death_rate como se muestra a continuación.
dff = df.sort_values(by ='Número de casos',ascendente = Falso)
dff['Tasa de mortalidad '] = (dff['Fallecimientos'/dff['Número de casos'])*100
dff.head()
La salida es como.
Un servidor proxy le permite utilizar una dirección IP única para acceder a la información que desea extraer. De este modo, el sitio web no ve su dirección IP real, lo que le permite raspar datos de forma anónima. Debes utilizar proxies para el web scraping por las siguientes razones.
Puede utilizar los dos proxies siguientes para extraer datos de sitios web.
Ya sabes que la visualización de datos es la representación gráfica de datos o información. Puedes utilizar herramientas visuales como tablas, mapas y gráficos como una forma accesible de entender los datos representados. Veamos cómo podemos visualizar los datos extraídos de este sitio web utilizando herramientas de visualización de datos.
Tienes que importar las siguientes librerías para visualizar los datos como se muestra a continuación.
import seaborn como sns
import matplotlib.pyplot como plt
from pylab import rcParams
Puede trazar un gráfico de pares para demostrar las relaciones entre pares en un conjunto de datos. Puede implementarlo fácilmente utilizando el código siguiente e identificar tendencias en los datos para un análisis posterior.
rcParams['figure.figsize'] = 15, 10
from matplotlib.pyplot import figura
figure(num=None, figsize=(20, 6), dpi=80, facecolor='w', edgecolor='k')
sns.pairplot(dff,hue='Continente')
Obtendrá la salida como.
Puede trazar un diagrama de barras que muestre datos categóricos como barras rectangulares y compare los valores de diferentes categorías en los datos.
sns.barplot(x = 'país',y = 'Número de casos',data = dff.head(10))
La salida es como.
Puedes entender la relación entre valores numéricos utilizando un gráfico de dispersión. Utiliza puntos para representar la relación entre variables.
sns.scatterplot(x = "Número de casos", y = "Defunciones",hue = "Continente",data = dff)
La salida es como.
En el código siguiente, agruparemos los datos por continente y los ordenaremos por el número de casos COVID.
dfg = dff.groupby(by = 'Continent',as_index = False).agg({'Number of cases':sum,'Deaths':sum})
dfgg = dfg[1:]
df1 = dfgg.sort_values(by = 'Number of cases',ascending = False)
df1['Death_rate'] = (df1['Deaths']/df1['Number of cases'])*100
df1.sort_values(by = 'Death_rate',ascending = False)
La salida es como.
Ahora, trazaremos un diagrama de barras entre "Continente" y "Tasa_de_muerte" como se muestra a continuación.
sns.barplot(x = 'Continente',y = 'Tasa de mortalidad',data = df1.sort_values(by = 'Tasa de mortalidad',ascending = False))
La salida es como.
Este diagrama de barras muestra que, entre todos los países, la tasa de mortalidad es la más alta en Sudamérica y la más baja en Australia.
Instale texttable para crear una tabla ASCII simple. A continuación, importarlo como tt.
pip install texttable
importar texttable como tt
Tienes que crear un objeto tabla de texto como se muestra a continuación. Hay que añadir una fila vacía al principio de la tabla para los encabezados y alinear las columnas.
tabla = tt.TablaTexto()
table.add_rows([(None, None, None, None)] + data) table.set_cols_align(('c', 'c', 'c', 'c')) # ' l ' indica izquierda, 'c ' indica centro y 'r ' indica derecha
table.header((' País ', ' Número de casos ', ' Defunciones ', ' Continente '))
print(tabla.dibujar())
Aquí, la salida representa algunas de las filas de la tabla como.
Con el web scraping, puede extraer grandes cantidades de datos de sitios web de forma rápida y eficaz. Puede convertir los datos no estructurados extraídos en un formato utilizable como un archivo .csv. Vimos que podemos raspar los datos de la web mediante el uso de dos módulos es decir, Pandas y BeautifulSoup. Los proxies permiten extraer los datos de la web de forma anónima. Puedes utilizar proxies de centro de datos o proxies residenciales para el web scraping. Los proxies residenciales son más fiables pero más caros que los proxies de centros de datos. Además, podemos realizar análisis de datos para obtener información útil en función de nuestras necesidades. En este artículo, analizamos los datos utilizando herramientas de visualización de datos como diagramas de barras, diagramas de pares y diagramas de dispersión.