Hermoso raspador de sopa
Obtenga y analice HTML mediante micropip/solicitudes.
Descripción general
Si bien las solicitudes normalmente requieren un socket de sistema operativo local,PyRunasigna la funcionalidad de solicitudes a través de la API de recuperación del navegador.
Esto permite el análisis de páginas CORS abiertas.
Código y salida de ejecución
Elimina dinámicamente los titulares de las principales historias de Hacker News.
import requests
from bs4 import BeautifulSoup
# PyRun uses micropip internally to make requests
# through the browser's fetch API
url = 'https://news.ycombinator.com'
print(f"Fetching {url}...\n")
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
print("=== Hacker News Top Stories ===")
# Find the story titles
titles = soup.find_all('span', class_='titleline', limit=5)
for i, title in enumerate(titles):
link = title.find('a')
text = link.text
href = link.get('href')
print(f"{i+1}. {text}")
print(f" Link: {href}\n")Fetching https://news.ycombinator.com...
=== Hacker News Top Stories ===
1. ...
Link: ...
2. ...
Link: ...Implementación paso a paso
- Raspado web
- Agregación de datos
- Auditoría SEO
Preguntas frecuentes
¿Por qué falla ocasionalmente una solicitud?
Si un sitio tiene encabezados CORS estrictos que impiden las operaciones de búsqueda del navegador, fallará. News.ycombinator actualmente permite CORS de lectura abierta.
Temas relacionados
Cree un raspador web avanzado en Python. Aprenda a extraer datos de páginas, manejar bloques de agentes de usuario, administrar límites de velocidad y estructurar resultados.
Patrones avanzados de expresiones regularesGrupos con nombre, búsquedas anticipadas y coincidencias aproximadas.