Scrapy
2 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"}
...
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
Czym jest testowanie międzyprzeglądarkowe?
17 sty 2025
Testowanie międzyprzeglądarkowe stanowi nieodzowny element procesu tworzenia strony internetowej. Pozwala zanalizować, jak strona wygląda i działa na różnych przeglądarkach, urządzeniach czy systemach operacyjnych. To klucz do zrozumienia, jak optymalizować Twoją stronę, aby zapewnić użytkownikom jak najlepsze doświadczenie.
Wprowadzenie do badań jakościowych w UX: Co to jest i dlaczego są kluczowe dla projektowania doświadczeń użytkownika.
17 sty 2025
Badania jakościowe w UX cieszą się rosnącą popularnością, ale czym właściwie są? Czym różnią się od badań ilościowych i jakie mają znaczenie dla tworzenia optymalnych doświadczeń użytkownika? Zrozumienie tych elementów jest kluczowe dla efektywnego projektowania w UX.
Netnografia w marketingu: Jak marki wykorzystują badania internetowe do zrozumienia swoich klientów
17 sty 2025
Netnografia to jedno z najważniejszych narzędzi w erze cyfrowego marketingu. Pozwala markom dogłębnie poznać swoich klientów, analizując zachowania i preferencje wyrażane online. Doświadcz jak w praktyce badania internetowe pomagają firmom zrozumieć psychikę swojego odbiorcy.
Metoda RITE: Skuteczne badania w UX Design
16 sty 2025
Badania w UX Design mają kluczowe znaczenie dla tworzenia użytkowych interfejsów. Jednym z najskuteczniejszych podejść jest metoda RITE - Rapid Iterative Testing and Evaluation. Pozwala ona na szybką analizę i optymalizację projektu na bieżąco. Ten artykuł poświęcony jest tej metodologii, odkrywając jej sekrety i pokazując, jak przekłada się na sukces w tworzeniu doświadczeń użytkownika.
Mikroformaty w SEO: Co to jest i dlaczego są ważne dla widoczności w wyszukiwarkach?
16 sty 2025
Czy wiesz, że mikroformaty mogą być kluczem do poprawy widoczności Twojej strony w wynikach wyszukiwania? Te niepozorne fragmenty kodu służą do dokładniejszego opisu treści na stronie, co jest szczególnie doceniane przez algorytmy Google. Poznaj moc mikroformatów w SEO!
Forward Compatibility Testing: Zapewnienie długoterminowej stabilności oprogramowania
16 sty 2025
Forward Compatibility Testing to strategia, która staje się nieodłącznym elementem ewolucji technologii IT. Jej zadaniem jest zapewnienie, że obecne systemy i oprogramowania będą działać bez zarzutu z przyszłymi wersjami. Czy taka metoda jest kluczem do przyszłości oprogramowania? Zgłębiajmy zagadnienie!
Smooth Scrolling i UX: Jak płynne przewijanie strony wpływa na doświadczenia użytkownika
15 sty 2025
W dobie rozwoju nowoczesnych witryn internetowych, szczególną uwagę należy zwracać na płynnege przewijanie - Smooth Scrolling. Dlaczego jest to tak ważne? Przedstawiamy korelację Smooth Scrolling z User Experience (UX) i omawiamy jak ten prosty element strony wpływa na percepcję i komfort użytkowników.
Zobacz wszystkie artykuły