En este artículo, vamos a escribir un script de Python para extraer la información del autor del artículo de GeeksforGeeks.
Módulo necesario
- bs4: Beautiful Soup (bs4) es una biblioteca de Python para extraer datos de archivos HTML y XML. Este módulo no viene integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install bs4
- requests : Requests le permite enviar requests HTTP/1.1 muy fácilmente. Este módulo tampoco viene integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install requests
Acercarse:
- Módulo de importación
- Hacer una instancia de requests y pasar a la URL
- Inicializar el título del artículo
- Pasar URL a un getdata()
- Raspe los datos con la ayuda de requests y Beautiful Soup
- Encuentre los detalles requeridos y fíltrelos.
Ejecución paso a paso de scripts:
Paso 1: importar todas las dependencias
Python
# import module import requests from bs4 import BeautifulSoup
Paso 2: Cree una función de obtención de URL
Python3
# link for extract html data # Making a GET request def getdata(url): r=requests.get(url) return r.text
Paso 3: ahora combine el nombre del artículo en la URL y pase la URL a la función getdata() y convierta esos datos en código HTML
Python3
# input article by geek article = "optparse-module-in-python" # url url = "https://www.geeksforgeeks.org/"+article # pass the url # into getdata function htmldata=getdata(url) soup = BeautifulSoup(htmldata, 'html.parser') # display html code print(soup)
Producción:
Paso 4: recorrer el nombre del autor del documento HTML.
Python
# traverse author name for i in soup.find('div', class_="author_handle"): Author = i.get_text() print(Author)
Producción:
kumar_satyam
Paso 5: Ahora cree una URL con el nombre del autor y obtenga el código HTML.
Python3
# now get author information # with author name profile ='https://auth.geeksforgeeks.org/user/'+Author+'/profile' # pass the url # into getdata function htmldata=getdata(profile) soup = BeautifulSoup(htmldata, 'html.parser')
Paso 6: Recorrer la información del autor.
Python3
# traverse information of author name = soup.find( 'div', class_='mdl-cell mdl-cell--9-col mdl-cell--12-col-phone textBold medText').get_text() author_info = [] for item in soup.find_all('div', class_='mdl-cell mdl-cell--9-col mdl-cell--12-col-phone textBold'): author_info.append(item.get_text()) print("Author name :") print(name) print("Author information :") print(author_info)
Producción:
Nombre del autor: Satyam Kumar
Información del autor:
[‘LNMI patna’, ‘\nhttps://www.linkedin.com/in/satyam-kumar-174273101/’]
Código completo:
Python3
# import module import requests from bs4 import BeautifulSoup # link for extract html data # Making a GET request def getdata(url): r = requests.get(url) return r.text # input article by geek article = "optparse-module-in-python" # url url = "https://www.geeksforgeeks.org/"+article # pass the url # into getdata function htmldata = getdata(url) soup = BeautifulSoup(htmldata, 'html.parser') # traverse author name for i in soup.find('div', class_="author_handle"): Author = i.get_text() # now get author information # with author name profile = 'https://auth.geeksforgeeks.org/user/'+Author+'/profile' # pass the url # into getdata function htmldata = getdata(profile) soup = BeautifulSoup(htmldata, 'html.parser') # traverse information of author name = soup.find( 'div', class_='mdl-cell mdl-cell--9-col mdl-cell--12-col-phone textBold medText').get_text() author_info = [] for item in soup.find_all('div', class_='mdl-cell mdl-cell--9-col mdl-cell--12-col-phone textBold'): author_info.append(item.get_text()) print("Author name :", name) print("Author information :") print(author_info)
Producción:
Nombre del autor: Satyam Kumar
Información del autor:
[‘LNMI patna’, ‘\nhttps://www.linkedin.com/in/satyam-kumar-174273101/’]
Publicación traducida automáticamente
Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA