Aquí, vamos a aprender cómo para raspar los enlaces de una página web en Python , estamos implementando un programa pitón para extraer todos los enlaces en una página web determinada .
Requisito:
- Urllib3 : Es un poderoso, cliente HTTP cordura ambiente class Python con tener muchas características como hilo de seguridad, del lado del cliente SSL / TSL verificación, la agrupación de conexiones, la carga de archivos con la codificación de varias partes, etc.
Instalación urllib3:$ pip install urllib3
- BeautifulSoup : es una biblioteca de Python que se usa para raspar / obtener información de las páginas web, archivos XML, es decir, la extracción de datos a cabo class de archivos HTML y XML.
Instalación BeautifulSoup:$ pip install beautifulsoup4
Comandos utilizados:
html = urllib.request.urlopen (url) .read () : Se abre la URL y lee toda la mancha con saltos de línea al final y todo viene en una cadena grande.
sopa = BeautifulSoup (html, ‘html.parser’) : Usando BeautifulSoup analizar la cadena BeautifulSoup convierte la cadena y sólo se necesita todo el archivo y utiliza el analizador de HTML, y volvamos un objeto.
tags = sopa ( ‘a’) : Para obtener la lista de todas las etiquetas de anclaje.
tag.get ( ‘href’, Ninguno) : Extracto y obtener los datos de la href.
programa de Python para enlaces de una página web
# import statements
import urllib.request, urllib.parse, urllib.error
from bs4 import BeautifulSoup
# Get links
# URL of a WebPage
url = input("Enter URL: ")
# Open the URL and read the whole page
html = urllib.request.urlopen(url).read()
# Parse the string
soup = BeautifulSoup(html, 'html.parser')
# Retrieve all of the anchor tags
# Returns a list of all the links
tags = soup('a')
#Prints all the links in the list tags
for tag in tags:
# Get the data from href key
print(tag.get('href', None), end = "n")
Salida:
Enter URL: https://www.google.com/
https://www.google.com/imghp?hl=en&tab=wi
https://maps.google.com/maps?hl=en&tab=wl
https://play.google.com/?hl=en&tab=w8
https://www.youtube.com/?gl=US&tab=w1
https://news.google.com/nwshp?hl=en&tab=wn
https://mail.google.com/mail/?tab=wmhttps://drive.google.com/?tab=wo
https://www.google.com/intl/en/about/products?tab=wh
http://www.google.com/history/optout?hl=en
/preferences?hl=en
https://accounts.google.com/ServiceLogin?hl=en&passive=true
&continue=https://www.google.com/
/advanced_search?hl=en&authuser=0
/intl/en/ads/
/services/
/intl/en/about.html
/intl/en/policies/privacy/
/intl/en/policies/terms/