En este artículo, vamos a ver cómo obtener la siguiente página en beautifulsoup.
Módulos necesarios
- BeautifulSoup: Beautiful Soup(bs4) es una biblioteca de Python para extraer datos de archivos HTML y XML. Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install bs4
- requests : esta biblioteca le permite enviar requests HTTP/1.1 con extrema facilidad. Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install requests
Acercarse:
Obtener la página siguiente en beautifulsoup significa que primero eliminaremos el contenido de una página y, si se dan muchos enlaces en la página, también queremos eliminarlos. Podemos obtener la siguiente página primero, eliminaremos el sitio web de muestra, luego de que se encuentren otros enlaces y volveremos a llamar a las requests. Obtenga el método para esa página y también creará una sopa de eso. Entonces de esta manera podemos pasar a la siguiente página en beautifulsoup.
Ejecutemos el script paso a paso:
Paso 1: importar todas las dependencias
from bs4 import BeautifulSoup import requests
Paso 2: Necesitamos solicitar la URL de la página con requests.
page=requests.get(sample_website)
Paso 3: Con la ayuda del método beautifulsoup y el analizador HTML, crearemos una sopa de la página.
soup = BeautifulSoup(page, 'html.parser')
Paso 4:
Buscaremos en el árbol de análisis y encontraremos el enlace. Si queremos esa URL, entonces, con la ayuda del módulo de requests y el módulo hermoso, volveremos a crear la sopa de la página siguiente, por lo tanto, podemos obtener la página siguiente en la sopa hermosa.
Python3
for i in soup.find_all('a', href = True): # check all link which is contain # "www.geeksforgeeks.org" string if("www.geeksforgeeks.org" in i['href']): # call get method to request next url nextpage = requests.get(i['href']) # create soup for next url nextsoup = BeautifulSoup(nextpage.content, 'html.parser') # we can scrap any thing of the # next page here we are scraping title of # nexturl page string print("next url title : ",nextsoup.find('title').string)
A continuación se muestra la implementación completa:
Python3
from bs4 import BeautifulSoup import requests # sample website sample_website='https://www.geeksforgeeks.org/different-ways-to-remove-all-the-digits-from-string-in-java/' # call get method to request the page page=requests.get(sample_website) # with the help of BeautifulSoup # method and html parser created soup soup = BeautifulSoup(page.content, 'html.parser') # With the help of find_all # method perform searching in parser tree for i in soup.find_all('a', href = True): # check all link which is contain # "www.geeksforgeeks.org" string if("www.geeksforgeeks.org" in i['href']): # call get method to request next url nextpage = requests.get(i['href']) # create soup for next url nextsoup = BeautifulSoup(nextpage.content, 'html.parser') # we can scrap any thing of the # next page here we are scraping title of # nexturl page string print("next url title : ",nextsoup.find('title').string)
Producción:
next url title : GeeksforGeeks | A computer science portal for geeks next url title : Analysis of Algorithms | Set 1 (Asymptotic Analysis) - GeeksforGeeks next url title : Analysis of Algorithms | Set 2 (Worst, Average and Best Cases) - GeeksforGeeks next url title : Analysis of Algorithms | Set 3 (Asymptotic Notations) - GeeksforGeeks next url title : Analysis of algorithms | little o and little omega notations - GeeksforGeeks next url title : Lower and Upper Bound Theory - GeeksforGeeks next url title : Analysis of Algorithms | Set 4 (Analysis of Loops) - GeeksforGeeks next url title : Analysis of Algorithm | Set 4 (Solving Recurrences) - GeeksforGeeks next url title : Analysis of Algorithm | Set 5 (Amortized Analysis Introduction) - GeeksforGeeks next url title : What does 'Space Complexity' mean? - GeeksforGeeks next url title : Pseudo-polynomial Algorithms - GeeksforGeeks next url title : Polynomial Time Approximation Scheme - GeeksforGeeks next url title : A Time Complexity Question - GeeksforGeeks .................................................................
Publicación traducida automáticamente
Artículo escrito por vipinyadav15799 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA