Web Scraping czyli jak zebrać dane ze stron internetowych? - Collegium Da Vinci Poznań
Treść Menu ogólne Menu studiów Stopka
20 stycznia 2025
Tymoteusz Krawiec - Student

Web Scraping czyli jak zebrać dane ze stron internetowych?

Web scraping to technika automatycznego pozyskiwania danych ze stron internetowych za pomocą specjalistycznego oprogramowania lub skryptów.

Web scraping to technika, która pozwala na automatyczne pozyskiwanie danych ze stron internetowych. Zamiast kopiować informacje ręcznie, możemy użyć programów, które zrobią to za nas. Scraping może być przydatny w różnych sytuacjach między innymi przy zbieraniu cen produktów, recenzji czy innych danych dostępnych w Internecie.

Jak działa Web Scraping?

Web scraping opiera się na dwóch głównych etapach:

  1. Pobranie strony – Program wysyła zapytanie do strony internetowej, która odpowiada jej zawartością w HTML. W przypadku użycia biblioteki
  2. Ekstrakcja danych – Po pobraniu strony, program „wyciąga” z niej interesujące nas informacje, np. teksty, linki, obrazy itp.

Cały proces odbywa się za pomocą bibliotek i narzędzi, które ułatwiają pracę. Narzędzia te mogą zostać wykorzystane w skryptach automatyzujących cały ten proces.

Narzędzia do Web Scrapingu

Do scrapowania danych można używać różnych bibliotek, w zależności od języka programowania. Poniżej przestawione są przykłady kodu w dwóch językach Python i JavaScript. Wymagane jest zainstalowanie poszczególnych bibliotek gdyż nie występują one domyślnie w tych językach. Można to zrobić używając menedżerów pakietów pip i npm.

Scrapy

Scrapy to framework w Pythonie, który ułatwia pobieranie wielu stron jednocześnie. Jest szybki i pozwala na łatwe zbieranie danych.

Przykład

Ten przykład zbiera cytaty i ich autorów ze strony quotes.toscrape.com.

Puppeteer

Puppeteer to narzędzie dostępne w Node.js, które umożliwia scrapowanie stron dynamicznych. Dzięki niemu możemy widzieć stronę tak, jakbyśmy otwierali ją w przeglądarce. W rzeczywistości biblioteka steruje prawdziwą przeglądarką zainstalowaną w systemie. Puppeteer ogranicza się wyłącznie do Google Chrome. Całość procesu odbywa się poprzez Webdriver czyli interfejs API do interakcji z przeglądarką.

Przykład

Ten fragment kodu podobnie jak poprzedni pobiera cytaty oraz wyświetla je w konsoli.

BeautifulSoup i Requests

Dwie ciekawe biblioteki w Pythonie. Requests pobiera stronę wysyłając żądanie HTTP, a BeautifulSoup analizuje (parsuje) HTML, wyciągając interesujące nas dane.

Przykład

Ten przykład tak jak dwa poprzednie robi to samo lecz tutaj praca jest podzielona między dwie biblioteki.

Prawo a Web Scraping

Choć web scraping jest bardzo ciekawym tematem, warto pamiętać o kwestiach prawnych. Wiele stron internetowych zabrania scrapowania swoich danych w swoich warunkach użytkowania. Właściciele witryn mogą blokować dostęp do swoich stron, używając pliku robots.txt lub CAPTCHA. Dodatkowo, zbieranie danych osobowych bez zgody właściciela strony może naruszać przepisy o ochronie danych osobowych. Pamiętaj, by zawsze sprawdzać, czy scraping nie łamie regulaminu danej strony oraz prawa.