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.

scrapy

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"}
...

Powiązane artykuły

Jak wykorzystać pliki cookies do poprawy jakości działania strony internetowej?

16 mar 2023

W erze cyfrowej, gdzie użytkownicy oczekują szybkich, spersonalizowanych i bezproblemowych doświadczeń online, coraz więcej właścicieli stron internetowych poszukuje skutecznych sposobów na poprawę jakości swoich witryn. Jednym z narzędzi, które może przyczynić się do osiągnięcia tego celu, są pliki cookie.

Tomasz Kozon
related-article-image-ciasteczka, pliki cookies

Reklamowanie się w Gmailu za pomocą Gmail Sponsored Promotion.

15 mar 2023

Reklama w internecie to obecnie niezbędny element strategii marketingowych dla firm każdej wielkości i branży. Jednym z kanałów reklamowych, które zdobywają coraz większą popularność, jest Gmail Sponsored Promotion. To narzędzie pozwala na wyświetlanie reklam w skrzynce odbiorczej użytkowników Gmaila w sposób nieinwazyjny i dopasowany do profilu odbiorcy.

Tomasz Kozon

Jakie są różnice między atrybutami nofollow i dofollow?

14 mar 2023

W świecie SEO atrybuty nofollow i dofollow są pojęciami, z którymi każdy właściciel strony internetowej powinien się zapoznać. Oba atrybuty stanowią ważny element optymalizacji strony internetowej, wpływając na jej pozycję w wynikach wyszukiwania. Atrybut nofollow i dofollow oznaczają dwa różne podejścia do linkowania, a ich właściwe stosowanie może przynieść korzyści dla witryny internetowej w postaci zwiększenia ruchu i poprawy reputacji w oczach algorytmów wyszukiwarek.

Tomasz Kozon

Definition of Done w metodologii Agile - jak wykorzystać ten koncept w praktyce

14 mar 2023

W dzisiejszym dynamicznym świecie zarządzania projektami IT, metodologia Agile zyskuje coraz większą popularność jako elastyczne i efektywne podejście do wytwarzania oprogramowania. Wśród kluczowych konceptów Agile, Definition of Done (DoD) pełni istotną rolę w utrzymaniu wysokiej jakości produktów oraz sprawnym monitorowaniu postępów projektu.

Tomasz Kozon

Geotargetowanie w strategii marketingowej: Jak może przyczynić się do wzrostu sprzedaży i świadomości marki

14 mar 2023

W erze cyfryzacji i rosnącej konkurencji na rynku, przedsiębiorstwa poszukują coraz bardziej efektywnych i innowacyjnych strategii marketingowych. Geotargetowanie, czyli wykorzystanie danych geolokalizacyjnych w celu dostarczania spersonalizowanych treści i reklam, stało się jednym z kluczowych narzędzi w budowaniu skutecznych kampanii.

Tomasz Kozon

Co to jest robots.txt i do czego służy?

14 mar 2023

Robots.txt to plik, który jest często pomijany przez właścicieli stron internetowych, a jednocześnie może mieć kluczowe znaczenie dla ich widoczności w wyszukiwarkach. Plik ten określa zasady, według których roboty wyszukiwarek powinny indeksować naszą witrynę. Właściwe wykorzystanie pliku pozwala kontrolować indeksowanie poszczególnych sekcji naszej witryny, co zwiększa jej bezpieczeństwo oraz skupia uwagę robotów na najważniejszych elementach.

Tomasz Kozon

Dlaczego evergreen content jest ważny dla strategii marketingowej?

13 mar 2023

W dzisiejszych czasach, gdy konkurencja w internecie jest ogromna, a uwaga użytkowników skupia się na krótkich treściach, evergreen content stanowi odrębną wartość w strategii marketingowej. Dzięki swojej trwałości i wartości, pozwala na przyciąganie uwagi i angażowanie odbiorców na długi czas.

Tomasz Kozon

Zobacz wszystkie artykuły