Bellissimo raschietto per zuppa
Recupera e analizza l'HTML tramite micropip/richieste.
Panoramica
Mentre le richieste normalmente richiedono un socket del sistema operativo locale,PyRunmappa la funzionalità delle richieste sull'API di recupero del browser.
Ciò consente l'analisi delle pagine CORS aperte.
Codice e output di esecuzione
Raschia in modo dinamico i titoli delle notizie più importanti di Hacker News.
scraper.py
Prova nell'editorimport 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")Uscita terminale
Fetching https://news.ycombinator.com...
=== Hacker News Top Stories ===
1. ...
Link: ...
2. ...
Link: ...Implementazione passo dopo passo
- Raschiamento Web
- Aggregazione dei dati
- Controllo SEO
Domande frequenti
Perché una richiesta a volte fallisce?
Se un sito ha intestazioni CORS rigorose che impediscono le operazioni di recupero del browser, fallirà. News.ycombinator attualmente consente la lettura aperta CORS.