Tworzenie skrobaka sieciowego za pomocą BeautifulSoup – kompletny przewodnik

Opublikowany: 2024-03-19
Spis treści pokaż
Wprowadzenie do skrobania sieci za pomocą BeautifulSoup
Warunki wstępne
Konfigurowanie środowiska
Tworzenie pierwszego skrobaka sieciowego
Krok 1: Konfigurowanie środowiska Python
Krok 2: Pobierz stronę internetową
Krok 3: Przeanalizuj zawartość HTML za pomocą BeautifulSoup
Krok 4: Wyodrębnianie danych z kodu HTML
Krok 5: Idąc dalej
Najlepsze praktyki i uwagi
Wniosek

Dla tych, którzy chcą wykorzystać moc danych internetowych, BeautifulSoup wyróżnia się jako potężne i intuicyjne narzędzie. Ta biblioteka Pythona została zaprojektowana do celów skrobania stron internetowych, umożliwiając łatwe wyodrębnianie określonych informacji ze stron internetowych. Ten przewodnik poprowadzi Cię przez proces tworzenia skrobaka sieciowego za pomocą BeautifulSoup, procesu tworzenia skrobaka sieciowego za pomocą BeautifulSoup, od skonfigurowania środowiska po analizę i wyodrębnienie potrzebnych danych.

Wprowadzenie do skrobania sieci za pomocą BeautifulSoup

Skrobanie sieci to proces programowego gromadzenia informacji z sieci WWW. Jest to cenna technika stosowana w eksploracji danych, gromadzeniu informacji i zadaniach automatyzacji. BeautifulSoup w połączeniu z biblioteką żądań Pythona zapewnia proste podejście do skrobania stron internetowych, dzięki czemu jest dostępne dla programistów na wszystkich poziomach. Web Scrape z BeautifulSoup wiąże się z różnymi wymaganiami wstępnymi.

Warunki wstępne

Zanim zagłębisz się w BeautifulSoup, upewnij się, że spełniasz następujące wymagania wstępne:

  • Podstawowa znajomość programowania w języku Python.
  • Python zainstalowany w Twoim systemie.
  • Znajomość HTML i struktury stron internetowych.
Konfigurowanie środowiska
  1. Zainstaluj Python : Upewnij się, że Python jest zainstalowany w twoim systemie. Zalecany jest język Python 3 ze względu na ulepszone funkcje i obsługę.
  2. Zainstaluj BeautifulSoup i Requests : Otwórz wiersz poleceń lub terminal i zainstaluj niezbędne biblioteki za pomocą pip, instalatora pakietów Pythona. Uruchom następujące polecenia:

pip zainstaluj piękną zupę4

żądania instalacji pip

Tworzenie pierwszego skrobaka sieciowego

Stworzenie pierwszego skrobaka sieciowego za pomocą BeautifulSoup to ekscytujący krok w świat ekstrakcji danych z Internetu. Ten przewodnik przeprowadzi Cię przez podstawy konfigurowania prostego skrobaka przy użyciu języka Python i BeautifulSoup w celu wydajnego pobierania i analizowania treści internetowych. Pobierzemy cytaty z „http://quotes.toscrape.com”, strony internetowej przeznaczonej do ćwiczenia umiejętności przeglądania stron internetowych.

Krok 1: Konfigurowanie środowiska Python

Upewnij się, że na komputerze jest zainstalowany język Python. Będziesz także potrzebować dwóch kluczowych bibliotek: żądań wysyłania żądań HTTP w celu uzyskania stron internetowych i pięknej soup4 do analizowania treści HTML.

Jeśli jeszcze nie zainstalowałeś tych bibliotek, możesz to zrobić za pomocą pip, instalatora pakietów Pythona. Otwórz terminal lub wiersz poleceń i wykonaj następujące polecenia:

pip zainstaluj piękną zupę4

żądania instalacji pip

Krok 2: Pobierz stronę internetową

Aby skrobać strony internetowe za pomocą BeautifulSoup, zacznij od napisania skryptu w języku Python, który pobierze zawartość HTML strony, którą chcesz zeskrobać. W tym przypadku cytaty pobierzemy z witryny „http://quotes.toscrape.com”.

żądania importu

# Adres URL witryny, którą chcesz zeskrobać

url = 'http://quotes.toscrape.com'

# Użyj biblioteki żądań, aby pobrać zawartość witryny

odpowiedź = żądania.get(url)

# Upewnij się, że żądanie powiodło się

jeśli kod_odpowiedzi.status == 200:

print("Pobrano stronę internetową pomyślnie!")

w przeciwnym razie:

print("Nie udało się pobrać strony internetowej.")

Krok 3: Przeanalizuj zawartość HTML za pomocą BeautifulSoup

Następnym krokiem po pobraniu strony internetowej jest przeanalizowanie jej zawartości HTML. Dzięki BeautifulSoup to zadanie staje się proste. Utwórz obiekt BeautifulSoup i użyj go do przeanalizowania tekstu odpowiedzi.

z bs4 importuj BeautifulSoup

# Utwórz obiekt BeautifulSoup i określ parser

zupa = BeautifulSoup(response.text, 'html.parser')

# Wydrukuj uproszczony kod HTML, aby zobaczyć strukturę

drukuj(zupa.prettify())

Krok 4: Wyodrębnianie danych z kodu HTML

Teraz, gdy masz już przeanalizowany kod HTML, możesz rozpocząć wyodrębnianie danych, które Cię interesują. Wyodrębnijmy wszystkie cytaty ze strony.

# Znajdź wszystkie elementy <span> z klasą „text” i wykonaj iterację po nich

cudzysłowy = zupa.find_all('zakres', class_='tekst')

dla cytatu w cudzysłowie:

# Wydrukuj zawartość tekstową każdego <span>

drukuj(cytat.tekst)

Ten fragment znajduje wszystkie elementy <span> z tekstem klasy — które zawierają cudzysłowy na stronie — i drukuje ich treść tekstową.

Krok 5: Idąc dalej

Możesz także wyodrębnić inne informacje, np. o autorach cytatów:

# Znajdź wszystkie elementy <small> z klasą „autor”

autorzy = zupa.find_all('mały', class_='autor')

dla autora w autorach:

# Wydrukuj zawartość tekstową każdego <małego>, który zawiera nazwisko autora

drukuj(autor.tekst)

Spowoduje to wydrukowanie nazwisk każdego autora odpowiadających wyodrębnionym cytatom.

Najlepsze praktyki i uwagi

  • Szanuj plik robots.txt : przed pobraniem zawsze sprawdź plik robots.txt witryny internetowej (np. http://quotes.toscrape.com/robots.txt). Informuje o zasadach dotyczących skrobania witryny.
  • Obsługa wyjątków : upewnij się, że Twój kod sprawnie obsługuje błędy sieciowe lub nieprawidłowe odpowiedzi.
  • Ograniczanie szybkości : pamiętaj o liczbie żądań wysyłanych do witryny internetowej, aby uniknąć zablokowania.
  • Względy prawne : Bądź świadomy prawnych konsekwencji web scrapingu i upewnij się, że Twoje działania są zgodne z odpowiednimi przepisami i warunkami korzystania z witryny internetowej.

Wniosek

BeautifulSoup swoją prostotą i mocą otwiera świat możliwości wydobywania danych z Internetu. Niezależnie od tego, czy gromadzisz dane do analizy, monitorujesz strony internetowe pod kątem zmian, czy automatyzujesz zadania, skrobanie sieci za pomocą BeautifulSoup jest nieocenioną umiejętnością w Twoim zestawie narzędzi programistycznych. Rozpoczynając swoją przygodę ze skrobaniem sieci, pamiętaj, aby skrobać w sposób odpowiedzialny i etyczny, szanując strony internetowe, z którymi wchodzisz w interakcję. Miłego skrobania!