Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati
¡Las secciones de tu melodía principal son una especie de arañazos en la telaraña! Indipendentemente, parole “web scratching” en general implican una conexión que incorpora informatización. Un par de destinos podrían prescindir de él cuando los depuradores personalizados recopilen sus datos, mientras que otros no se preocuparían.
Esperando que esté rascando una página deliberadamente en busca de elementos informativos, es de suponer que no tendrá ningún problema. Teniendo en cuenta todo, es una buena idea hacer una evaluación aislada y garantizar que no está ignorando los Términos de servicio antes de comenzar un gigantesco proyecto de grado. Para sentirse cómodo con las piezas legales del raspado web, eche un vistazo a Perspectivas legales sobre el raspado de datos de la Web moderna.
¿Por qué web scraping?
Justo cuando rascamos la web, creamos un código que envía una solicitud que está funcionando con la página que decidimos. El especialista devolverá el código fuente – HTML, per la maggior parte – della pagina (o páginas) a las que hicimos referencia.
Fino a tempi molto recenti, básicamente estamos haciendo más que un programa web: enviar interés con una URL específica y mencionar que el especialista devuelve el código para esa página.
In ogni caso, a diferencia de un programa web, nuestro código de scratching web no traducirá el código fuente de la página y mostrará la página de forma ostensible. Teniendo todo en cuenta, pensaremos en algún código personalizado que canalice a través del código fuente de la página buscando partes expresas que hayamos demostrado y quitando cualquier sustancia que le hayamos enseñado a eliminar.
Ad esempio, en caso de que esperáramos obtener el total de los datos del interior de una tabla que apareció en la página de un sitio, nuestro código se formaría para seguir estos métodos en la recopilación:
1 Solicitud de la sustancia (codice sorgente) de una URL específica del trabajador
2 Descargue la sustancia que se devuelve.
3 Distingue los segmentos de la página que son fundamentales para la tabla que necesitamos.
4 Concentre y (si es crucial) reformatee esos segmentos en un conjunto de datos que podamos desarmar o utilizar de la forma que necesitemos.
Si todo eso suena particularmente complicado, ¡no presiones! Python y Beautiful Soup tienen características naturales propuestas para que esto sea en su mayor parte inmediato.
Una cosa que es fundamental para tener en cuenta: desde la perspectiva de un especialista, hacer referencia a una página a través del web scratching es comparable a apilarla en un programa web. Exactamente cuando usamos código para introducir estas solicitudes, podríamos estar “apilando” páginas significativamente más rápido que un cliente estándar, y de esta manera consumiendo rápidamente los recursos de mano de obra del propietario del sitio.
Web Scraping de datos para aprendizaje automático:
En caso de que raspe los datos para la IA, prometa que ha verificado las concentraciones bajas antes de acercarse a la extracción de datos.
Formato de datos:
Los modelos de inteligencia simulada pueden simplemente aumentar abruptamente la popularidad de los datos que están en una asociación simple o similar a una tabla. In questo senso, el raspado de datos no estructurados requerirá, in questo modo, una mayor libertad para cuidar los datos antes de que puedan ser utilizados.
Lista de datos:
Dado que el objetivo clave es la inteligencia artificial, cuando tiene las ubicaciones o las páginas de la página web que desea eliminar, debe hacer una descripción general de los centros de datos o las fuentes de datos que desea eliminar de cada página del sitio. Si el caso es con el objetivo final de que falte una gran cantidad de centros de datos para cada página del sitio, entonces debe recortar y elegir los centros de datos que generalmente están presentes. La razón de esto es que tantas características NA o vacías disminuirán la presentación y precisión del modelo de IA (ML) que entrena y prueba con los datos.
Etiquetado de datos:
La verificación de datos puede ser una agonía cerebral. In ogni caso, si puede acumular los metadatos necesarios mientras los datos se rascan y almacenarlos como un punto de datos alternativo, beneficiará a las etapas correspondientes en el ciclo de vida de los datos.
Pulito, preparar y almacenar los datos
Si bien este movimiento puede parecer fundamental, habitualmente es quizás el avance más enredado y triste. Este es el resultado directo de una clara aclaración: no hay una conexión que sirva para todos. Depende de los datos que haya borrado y de dónde los haya borrado. Necesitará estrategias rápidas para limpiar los datos.
Lo más importante es que debe revisar los datos para comprender qué degradaciones se encuentran en las fuentes de datos. Puede hacer esto usando una biblioteca como Pandas (disponible en Python). En el momento en que se realiza su evaluación, debe crear una sustancia para eliminar las deformidades en las fuentes de datos y normalizar los centros de datos que no son como los demás. Dopo, realizaría grandes verificaciones para verificar si los centros de datos tienen todos los datos en un tipo de datos singular. Un fragmento que debería contener números no puede tener una línea de datos. Ad esempio, uno que debería contener datos en la configuración dd / mm / aaaa no puede contener datos en alguna otra asociación. Aparte de estas verificaciones del plan, las características que faltan, las características no válidas y cualquier otra cosa que pueda romper el tratamiento de los datos, deben percibirse y corregirse.
¿Por qué Python para Web Scraping?
Python es un dispositivo conocido para ejecutar web scratching. El lenguaje de programación Python también se utiliza para otras actividades valiosas identificadas con la seguridad de la red, las pruebas de acceso al igual que las aplicaciones medibles avanzadas. Utilizando la programación básica de Python, el raspado web se puede realizar sin utilizar ningún otro aparato externo.
El lenguaje de programación Python está adquiriendo una inmensa prevalencia y las razones que hacen de Python una combinación sólida para los proyectos de scratching web son las siguientes:
Simplicidad de puntuación
Python tiene la construcción más sencilla en comparación con otros dialectos de programación. Este elemento de Python simplifica las pruebas y un ingeniero puede concentrarse en programación adicional.
Módulos incorporados
Otra justificación para utilizar Python para hacer scratching en la web es la incorporación de las valiosas bibliotecas externas que tiene. Podemos realizar numerosas ejecuciones identificadas con web scratching utilizando Python como base para la programación.
Lenguaje de programación de código abierto
Python cuenta con una gran ayuda del área local ya que es un lenguaje de programación de código abierto.
Amplia gama de aplicaciones
Python se puede utilizar para diferentes asignaciones de programación que van desde pequeños contenidos de shell hasta aplicaciones web de grandes empresas.
Módulos de Python para web scraping
El raspado web es el camino hacia el desarrollo de un especialista que pueda extraer, analizzare, descargar y coordinar datos valiosos de la web en consecuencia. Alla fine del giorno, en lugar de guardar físicamente la información de los sitios, la programación web scratching cargará y concentrará la información de diferentes sitios de acuerdo con nuestro prerrequisito.
Applicazione
Es una biblioteca de scratch web de Python sencilla. Es una biblioteca HTTP eficaz que se utiliza para acceder a las páginas. Con la ayuda de Solicitudes, podemos obtener el HTML crudo de las páginas del sitio que luego podrían analizarse para recuperar la información.
Bella zuppa
Beautiful Soup es una biblioteca de Python para extraer información de registros HTML y XML. Tiende a utilizarse con demandas, ya que necesita una pieza de información (informe o URL) para hacer un objeto de sopa, ya que no puede traer una página del sitio sin la ayuda de nadie más. Puede utilizar el contenido de Python adjunto para ensamblar el título de la página y los hipervínculos.
Codice –
import urllib.request from urllib.request import urlopen, Request from bs4 import BeautifulSoup wiki= "https://www.thestar.com.my/search/?q=HIV&qsort=oldest&qrec=10&qstockcode=&pgno=1" html=urlopen(wiki) bs= BeautifulSoup(html,'lxml') bs Beautiful Soup is used to extract the website page
(fuente de la imagen: cuaderno Jupyter)
Codice-
from bs4 import BeautifulSoup base_url="https://www.thestar.com.my/search/?q=HIV&qsort=oldest&qrec=10&qstockcode=&pgno=" # Add 1 because Python range. url_list = ["{}{}".formato(base_url, str(pagina)) for page in range(1, 408)] s=[] for url in url_list: Stampa (URL) s.append(URL)
Produzione-
El código anterior enumerará el número de páginas web en el rango de 1 un 407.
(fuente de la imagen: cuaderno Jupyter)
Codice –
dati = [] data1= [] import csv from urllib.request import urlopen, HTTPError from datetime import datetime, timedelta for pg in s: # query the website and return the html to the variable 'page' page = urllib.request.urlopen(pg) Tentativo: search_response = urllib.request.urlopen(pg) except urllib.request.HTTPError: passaggio # parse the html using beautiful soap and store in variable `soup` soup = BeautifulSoup(pagina, 'html.parser') # Take out the <div> of name and get its value ls = [x.get_text(strip=True) for x in soup.find_all("h2", {"classe": "f18"})] ls1= [x.get_text(strip=True) for x in soup.find_all("span", {"classe": "Data"})] # save the data in tuple data.append((ls)) data1.append(ls1)
Produzione-
El código anterior tomará todos los datos con la ayuda de una hermosa sopa y los guardará en la tupla.
(fuente de la imagen: cuaderno Jupyter)
Codice
import pandas as p df=p.DataFrame(F,colonne=['Topic of article']) df['Data']=f1
Produzione-
panda
Pandas es un instrumento de investigación y control de información de código abierto rápido, increíble, adaptable y simple de utilizar, basado en la parte superior del lenguaje de programación Python.
El código anterior almacena el valor en el marco de datos.
(fuente de la imagen: cuaderno Jupyter)
Espero que disfruten del código.
Pequeña introducción
Me, Sonia Singla, he realizado una maestría en bioinformática de la Universidad de Leicester, Regno Unito. También he realizado algunos proyectos sobre ciencia de datos de CSIR-CDRI. Actualmente es miembro asesor del consejo editorial de IJPBS.
Linkedin – https://www.linkedin.com/in/soniasinglabio/
I contenuti multimediali mostrati in questo articolo sull'implementazione di modelli di apprendimento automatico che sfruttano CherryPy e Docker non sono di proprietà di DataPeaker e vengono utilizzati a discrezione dell'autore.