Scrapy
3 minuty czytania
Scrapy to framework open source napisany w języku Python, służący do przetwarzania danych z witryn internetowych. Jest to narzędzie przeznaczone dla web scraping, czyli automatyzowanego pobierania danych z witryn internetowych.
Często programując korzystamy z dostępnych API, które dostarczają nam potrzebne dane do naszej aplikacji. Przykładowo budując aplikację, która będzie nam ukazywać aktualną pogodę, musimy skądś te dane wziąć i najczęściej korzystamy z dostępnych API na rynku, ale co w przypadku kiedy nie znajdziemy interesującego nas API. Właśnie w takim przypadku warto rozważyć, scrapowanie stron. W tym artykule przedstawię właśnie narzędzie, które pomoże nam w scrapowaniu stron.

Czym jest scrapowanie stron?
Scrapowanie stron jest to nic innego niż wyciąganie jakiejś zawartości strony i zapisywanie tych danych w celu np. wykorzystania ich w swojej aplikacji. Scrapowanie stron wykorzystują takie serwisy jak np. ceneo, google, czy też portale zbierające oferty pracy z innych portali. Pamiętajmy, że to co robimy później z takimi danymi może być czasami nielegalne.
Co to jest Scrapy?
Scrapy jest frameworkiem do języka Python i jest on najpopularniejszym i najbardziej rozbudowanym narzędziem do scrapowania stron internetowych. Scrapy dostarcza wszystkie niezbędne narzędzia potrzebne do efektywnego wydobywania danych ze stron, przetwarzania ich i przechowywania w preferowanej strukturze i formacie. Scrapy jest łatwy do użycia, posiada obsługę żądań asynchronicznych, a ponadto automatycznie dostosowuje prędkość indeksowania za pomocą mechanizmu “Auto-throttling”.
Scrapy Spider
Najważniejszą częścią w Scrapy są klasy Spider. Scrapy używa ich do zbierania informacji ze strony internetowej. Definiują one w jaki sposób nasz Spider ma wydobywać dane ze strony.
Przykładowa klasa Spidera, która wydobywa cytaty ze strony.
import scrapy
class QuotesSpider(scrapy.Spider):
name = 'quotes'
start_urls = [
'https://quotes.toscrape.com/tag/humor/',
]
def parse(self, response):
for quote in response.css('div.quote'):
yield {
'author': quote.xpath('span/small/text()').get(),
'text': quote.css('span.text::text').get(),
}
next_page = response.css('li.next a::attr("href")').get()
if next_page is not None:
yield response.follow(next_page, self.parse)
Taki kod zapisujemy do pliku “quotes_spider.py” i odpalamy naszego bota do scrapowania komendą:
scrapy runspider quotes_spider.py -o quotes.jl
Kiedy nasz bot skończy swoją pracę powinniśmy otrzymać plik “quotes.jl”, który będzie zawierać listę cytatów zapisanych w formacie json.
{"author": "Jane Austen", "text": "\u201cThe person, be it gentleman or lady, who has not pleasure in a good novel, must be intolerably stupid.\u201d"}
{"author": "Steve Martin", "text": "\u201cA day without sunshine is like, you know, night.\u201d"}
{"author": "Garrison Keillor", "text": "\u201cAnyone who thinks sitting in church can make you a Christian must also think that sitting in a garage can make you a car.\u201d"}
...
Parse – jak przetwarzać dane?
Scrapy oferuje elastyczne metody przetwarzania danych pobranych z witryn internetowych. Kluczowym elementem tego procesu jest metoda parse, która analizuje odpowiedź zwróconą przez serwer i pozwala na wydobycie interesujących informacji. Scrapy automatycznie obsługuje żądania HTTP i przekazuje odpowiedź do tej metody, gdzie można ją przetwarzać według własnych potrzeb. Metoda parse pozwala na nawigowanie po strukturze strony oraz wybieranie konkretnych elementów za pomocą narzędzi takich jak XPath czy CSS Selectors. Możliwe jest także generowanie kolejnych żądań do innych podstron oraz przechowywanie danych w formatach takich jak JSON czy CSV. Dzięki temu Scrapy jest potężnym narzędziem do scrapowania i automatycznej ekstrakcji informacji z dużych zbiorów danych.
Zarządzanie sesjami i cookies
Podczas scrapowania stron internetowych często konieczne jest zarządzanie sesjami i plikami cookies, które pozwalają na utrzymanie stanu użytkownika. Wiele stron wymaga autoryzacji lub śledzi aktywność użytkownika za pomocą plików cookie, dlatego prawidłowa ich obsługa w Scrapy jest kluczowa.
Scrapy automatycznie przechowuje i przesyła pliki cookie dla każdej domeny, co ułatwia scrapowanie stron, które wymagają zalogowania lub utrzymania sesji. Możliwe jest także ręczne zarządzanie plikami cookie poprzez modyfikowanie nagłówków żądań, co daje większą kontrolę nad interakcją ze stroną. W bardziej zaawansowanych przypadkach można korzystać z pośredników (middleware), aby dostosować zachowanie frameworka do specyficznych wymagań serwera docelowego.
Scrapy i XPath – wydobywanie danych ze stron
XPath to jedno z najpotężniejszych narzędzi do nawigacji po strukturze stron HTML i XML. W Scrapy można go wykorzystać do precyzyjnego wydobywania danych, takich jak teksty, linki, obrazy czy atrybuty elementów. XPath pozwala na poruszanie się po drzewie DOM strony internetowej i selektywne wybieranie tylko tych fragmentów kodu, które są istotne dla analizy.
Dzięki XPath możliwe jest filtrowanie elementów na podstawie ich atrybutów, pozycji w strukturze dokumentu lub zawartości tekstowej. To szczególnie przydatne przy pracy ze stronami o skomplikowanej budowie, gdzie tradycyjne selektory CSS mogą nie być wystarczająco precyzyjne. W połączeniu z Scrapy, XPath pozwala na efektywne pobieranie danych z dynamicznych i statycznych stron internetowych, co czyni go niezwykle przydatnym narzędziem w procesie web scrapingu.
Nasza oferta
Web development
Dowiedz się więcejMobile development
Dowiedz się więcejE-commerce
Dowiedz się więcejProjektowanie UX/UI
Dowiedz się więcejOutsourcing
Dowiedz się więcejPowiązane artykuły
Web scraping - co to jest i jak działa?
23 maj 2023
Web scraping to technika pozyskiwania danych z stron internetowych. Polega na przeszukiwaniu kodu HTML i wyodrębnieniu żądanych informacji. Najczęściej stosuje się ją w celach badawczych lub biznesowych. Istnieją specjalne narzędzia ułatwiające tę pracę, ale proces może być też wykonany ręcznie.

Dynamic pricing w turystyce: jak AI optymalizuje ceny wycieczek hoteli i lotów
23 cze 2026
Ceny w turystyce zmieniają się dziś szybciej niż kiedykolwiek, a za każdą z tych zmian stoi algorytm, który w tle analizuje setki zmiennych jednocześnie. Dynamic pricing oparty na sztucznej inteligencji przestał być przewagą największych graczy i stał się operacyjnym standardem branży, od linii lotniczych, przez sieci hotelowe, po touroperatorów i platformy OTA.
Platforma dla dewelopera budowlanego: zarządzanie inwestycjami, sprzedaż i CRM
17 cze 2026
Rynek deweloperski w Polsce wszedł w fazę, w której wygrywa nie ten, kto buduje najwięcej, ale ten, kto najlepiej zarządza tym, co już zbudował i sprzedaje. Excele, rozproszone pliki i klasyczne CRM-y projektowane pod zupełnie inne branże po prostu nie nadążają za tempem i złożonością współczesnej sprzedaży nieruchomości. Coraz więcej firm sięga dlatego po dedykowane platformy, które łączą zarządzanie inwestycjami, sprzedaż mieszkań i obsługę klienta w jednym spójnym środowisku pracy.
AI w modzie i branży odzieżowej: personalizacja trendy i virtual try-on
15 cze 2026
Sztuczna inteligencja przestała być w modzie modnym hasłem i stała się realnym narzędziem, które zmienia sposób, w jaki marki projektują kolekcje, sprzedają produkty i komunikują się z klientami. Algorytmy uczą się stylu konkretnego użytkownika, przewidują trendy z kilkumiesięcznym wyprzedzeniem, a wirtualne przymierzalnie pozwalają zobaczyć siebie w sukience bez wychodzenia z domu.
E-commerce dla motoryzacji - jak sprzedawać części online z katalogiem TecDoc?
13 cze 2026
Sprzedaż części samochodowych w internecie to jeden z najbardziej wymagających segmentów e-commerce, w którym precyzja danych liczy się bardziej niż chwytliwa grafika czy efektowna kampania reklamowa. Klient nie kupi filtra paliwa, jeśli nie ma stuprocentowej pewności, że pasuje on do jego konkretnej wersji silnika, a sklep z setkami tysięcy indeksów nie utrzyma się długo bez sprawnego systemu zarządzania asortymentem. Właśnie dlatego katalog TecDoc stał się fundamentem branży i standardem, na którym opierają swoje działanie zarówno globalni giganci, jak i mniejsze, wyspecjalizowane sklepy.
Dark kitchen i catering dietetyczny: jak technologia zmienia nowoczesną gastronomię
12 cze 2026
Gastronomia w ostatnich latach przeszła cichą, ale głęboką rewolucję. Klient coraz rzadziej chce iść do restauracji, a coraz częściej oczekuje, że to dobrze zbilansowany, świeży posiłek sam trafi pod jego drzwi o właściwej porze. Na tej zmianie wyrosły dwa zjawiska, które dziś wyznaczają kierunek rozwoju całej branży, czyli dark kitchen oraz catering dietetyczny. Łączy je jedno: bez nowoczesnej technologii, integracji systemów i analizy danych po prostu nie miałyby prawa działać w skali, w jakiej działają dzisiaj.
Coliving i najem instytucjonalny: jak technologia zarządza społecznością
10 cze 2026
Rynek najmu w Polsce dojrzewa w tempie, którego jeszcze pięć lat temu mało kto się spodziewał. Modele takie jak coliving i najem instytucjonalny przestały być ciekawostką z Berlina czy Londynu i na dobre wpisały się w krajobraz polskich miast, oferując mieszkańcom standard obsługi porównywalny z sektorem hotelarskim. Za tą transformacją stoi technologia, która spaja w jedną całość zarządzanie budynkiem, obsługę najemcy i budowanie społeczności.
Zobacz wszystkie artykuły