Solicitudes: Web Scraping mediante solicitudes
Ya hemos visto cómo podemos obtener datos de una URL determinada utilizando la biblioteca de solicitudes de Python. Intentaremos eliminar los datos del sitio deTutorialspoint que está disponible en https://www.tutorialspoint.com/tutorialslibrary.htm usando lo siguiente -
- Biblioteca de solicitudes
- Hermosa biblioteca de sopa de python
Ya hemos instalado la biblioteca de solicitudes, ahora instalemos el paquete Beautiful soup. Aquí está el sitio web oficial debeautiful soup disponible en https://www.crummy.com/software/BeautifulSoup/bs4/doc/ en caso de que desee explorar algunas funcionalidades más de la hermosa sopa.
Instalación de Beautifulsoup
Veremos cómo instalar Beautiful Soup a continuación:
E:\prequests>pip install beautifulsoup4
Collecting beautifulsoup4
Downloading https://files.pythonhosted.org/packages/3b/c8/a55eb6ea11cd7e5ac4ba
cdf92bac4693b90d3ba79268be16527555e186f0/beautifulsoup4-4.8.1-py3-none-any.whl
(
101kB)
|████████████████████████████████| 102kB 22kB/s
Collecting soupsieve>=1.2 (from beautifulsoup4)
Downloading https://files.pythonhosted.org/packages/81/94/03c0f04471fc245d08d0
a99f7946ac228ca98da4fa75796c507f61e688c2/soupsieve-1.9.5-py2.py3-none-any.whl
Installing collected packages: soupsieve, beautifulsoup4
Successfully installed beautifulsoup4-4.8.1 soupsieve-1.9.5
Ahora tenemos la biblioteca de solicitudes de Python y la hermosa sopa instalada.
Escribamos ahora el código, que eliminará los datos de la URL proporcionada.
Raspado web
import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.tutorialspoint.com/tutorialslibrary.htm')
print("The status code is ", res.status_code)
print("\n")
soup_data = BeautifulSoup(res.text, 'html.parser')
print(soup_data.title)
print("\n")
print(soup_data.find_all('h4'))
Al usar la biblioteca de solicitudes, podemos obtener el contenido de la URL proporcionada y la hermosa biblioteca de sopa ayuda a analizarlo y obtener los detalles de la manera que queremos.
Puede usar una hermosa biblioteca de sopa para obtener datos usando la etiqueta Html, la clase, la identificación, el selector css y muchas más formas. A continuación se muestra el resultado que obtenemos en el que hemos impreso el título de la página y también todas las etiquetas h4 en la página.
Salida
E:\prequests>python makeRequest.py
The status code is 200
<title>Free Online Tutorials and Courses</title>
[<h4>Academic</h4>, <h4>Computer Science</h4>, <h4>Digital Marketing</h4>,
<h4>Monuments</h4>,<h4>Machine Learning</h4>, <h4>Mathematics</h4>,
<h4>Mobile Development</h4>,<h4>SAP</h4>,
<h4>Software Quality</h4>, <h4>Big Data & Analytics</h4>,
<h4>Databases</h4>, <h4>Engineering Tutorials</h4>,
<h4>Mainframe Development</h4>,
<h4>Microsoft Technologies</h4>, <h4>Java Technologies</h4>,
<h4>XML Technologies</h4>, <h4>Python Technologies</h4>, <h4>Sports</h4>,
<h4>Computer Programming</h4>,<h4>DevOps</h4>, <h4>Latest Technologies</h4>,
<h4>Telecom</h4>, <h4>Exams Syllabus</h4>,
<h4>UPSC IAS Exams</h4>,
<h4>Web Development</h4>,
<h4>Scripts</h4>, <h4>Management</h4>,<h4>Soft Skills</h4>,
<h4>Selected Reading</h4>, <h4>Misc</h4>]