Implementando web scraping usando lxml en Python

El raspado web básicamente se refiere a obtener solo alguna información importante de uno o más sitios web. Cada sitio web tiene una estructura/patrón reconocible de elementos HTML. 

Pasos para realizar web scraping:
1. Envíe un enlace y obtenga la respuesta del enlace enviado 
2. Luego convierta el objeto de respuesta en una string de bytes. 
3. Pase la string de bytes al método ‘fromstring’ en la clase html en el módulo lxml. 
4. Llegar a un elemento en particular por xpath. 
5. Utilice el contenido de acuerdo a su necesidad.
 

Para realizar esta tarea, se necesitan algunos paquetes de terceros para instalar. Use pip para instalar archivos de ruedas (.whl).  

pip install requests
pip install lxml

También se necesita xpath al elemento del que se eliminarán los datos. Una manera fácil de hacer esto es:

1. Haga clic con el botón derecho en el elemento de la página que debe eliminarse y vaya a «Inspeccionar».  

2. Haga clic derecho en el elemento del código fuente a la derecha. 

3. Copie xpath. 

Aquí hay una implementación simple en la » página de inicio de geeksforgeeks «: 

Python3

# Python3 code implementing web scraping using lxml
 
import requests
 
# import only html class
from lxml import html
 
# url to scrap data from
url = 'https://www.geeksforgeeks.org'
 
# path to particular element
path = '//*[@id ="post-183376"]/div / p'
 
# get response object
response = requests.get(url)
 
# get byte string
byte_data = response.content
 
# get filtered source code
source_code = html.fromstring(byte_data)
 
# jump to preferred html element
tree = source_code.xpath(path)
 
# print texts in first element in list
print(tree[0].text_content())

El código anterior extrae el párrafo del primer artículo de la página de inicio de » geeksforgeeks homepage «. 
Aquí está la salida de muestra. El resultado puede no ser el mismo para todos, ya que el artículo habría cambiado.

Producción :  

"Consider the following C/C++ programs and try to guess the output?
Output of all of the above programs is unpredictable (or undefined).
The compilers (implementing… Read More »"

Aquí hay otro ejemplo de datos extraídos de Wiki-web-scraping

Python3

import requests
from lxml import html
 
# url to scrap data from
link = 'https://en.wikipedia.org / wiki / Web_scraping'
 
# path to particular element
path = '//*[@id ="mw-content-text"]/div / p[1]'
 
response = requests.get(link)
byte_string = response.content
 
# get filtered source code
source_code = html.fromstring(byte_string)
 
# jump to preferred html element
tree = source_code.xpath(path)
 
# print texts in first element in list
print(tree[0].text_content())

Producción : 

El raspado web, la recolección web o la extracción de datos web es el raspado de datos que se utiliza para extraer datos de sitios web.[1] El software de web scraping puede acceder a la World Wide Web directamente mediante el Protocolo de transferencia de hipertexto o a través de un navegador web. Si bien un usuario de software puede realizar manualmente el web scraping, el término generalmente se refiere a procesos automatizados implementados mediante un bot o un rastreador web. Es una forma de copia, en la que se recopilan y copian datos específicos de la web, generalmente en una base de datos local central o en una hoja de cálculo, para su posterior recuperación o análisis. 
 

Publicación traducida automáticamente

Artículo escrito por mohit_negi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *