Piękny skrobak do zup
Pobieraj i analizuj kod HTML za pomocą mikropipa/żądań.
Przegląd
Chociaż żądania zwykle wymagają lokalnego gniazda systemu operacyjnego,PyRunmapuje funkcjonalność żądań za pośrednictwem interfejsu API pobierania przeglądarki.
Umożliwia to analizowanie otwartych stron CORS.
Dane wyjściowe kodu i wykonania
Dynamicznie usuwa nagłówki najważniejszych artykułów Hacker News.
scraper.py
Spróbuj w Edytorzeimport 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")Wyjście terminala
Fetching https://news.ycombinator.com...
=== Hacker News Top Stories ===
1. ...
Link: ...
2. ...
Link: ...Wdrażanie krok po kroku
- Skrobanie sieci
- Agregacja danych
- Audyt SEO
Często zadawane pytania
Dlaczego żądanie czasami kończy się niepowodzeniem?
Jeśli witryna ma ścisłe nagłówki CORS uniemożliwiające pobieranie przez przeglądarkę, nie powiedzie się. News.ycombinator obecnie umożliwia CORS z otwartym odczytem.
Powiązane tematy
Zaawansowany skrobak sieciowy w języku Python
Zbuduj zaawansowany skrobak sieciowy w Pythonie. Dowiedz się, jak wyodrębniać dane ze stron, obsługiwać bloki agenta użytkownika, zarządzać limitami szybkości i strukturyzować dane wyjściowe.
Zaawansowane wzorce RegexGrupy nazwane, lookahead i dopasowywanie rozmyte.