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 są Azure Functions i jakie są ich główne zalety?
7 cze 2024
Azure Functions to usługa serverless od Microsoftu, która umożliwia tworzenie i uruchamianie małych fragmentów kodu w chmurze bez potrzeby zarządzania infrastrukturą serwerową. Dzięki swojej elastyczności i skalowalności, Azure Functions pozwalają programistom szybko reagować na zdarzenia, automatyzować procesy i integrować różne usługi. W tym artykule przyjrzymy się, czym dokładnie są Azure Functions oraz jakie są ich główne zalety dla programistów i przedsiębiorstw.
![related-article-image-chmura, Azure Functions](/_next/image?url=https%3A%2F%2Fd2ooyrflu7lhqd.cloudfront.net%2Fa3fb4e5_544b_4e1e_bc99_f294d1eadc7f_b4c557c718.jpg%3Fformat%3Dauto&w=3840&q=75)
Zastosowanie Cyklu Deminga w zarządzaniu jakością
7 cze 2024
Cykl Deminga, znany również jako PDCA (Plan-Do-Check-Act), to fundamentalne narzędzie w zarządzaniu jakością, które pomaga organizacjom w ciągłym doskonaleniu swoich procesów. Wprowadzony przez W. Edwards Deminga, cykl ten stał się kluczowym elementem strategii zarządzania jakością w różnych branżach na całym świecie. W tym artykule omówimy, jak skutecznie zastosować Cykl Deminga w praktyce, aby osiągnąć lepsze wyniki i stałe ulepszanie procesów biznesowych.
Strategie pull i push w marketingu: Podstawowe definicje i różnice między nimi.
6 cze 2024
W dzisiejszym zróżnicowanym świecie marketingu, strategie pull i push odgrywają kluczowe role w kształtowaniu relacji między markami a ich klientami. Chociaż obie strategie mają ten sam cel — zwiększenie sprzedaży i widoczności — różnią się znacznie metodami osiągania tych wyników. Ten artykuł wyjaśni podstawowe definicje i różnice między strategiami pull i push, aby pomóc marketerom wybrać najlepsze podejście dla swoich unikalnych celów biznesowych.
Macierz Eisenhowera w pracy zespołowej: Jak poprawić efektywność zespołu?
6 cze 2024
W dzisiejszym szybkim świecie zarządzanie czasem i priorytetami staje się kluczowe dla efektywności każdego zespołu. Macierz Eisenhowera, narzędzie do klasyfikacji zadań według ich pilności i ważności, oferuje prostą, ale potężną metodę do optymalizacji pracy grupowej. W tym artykule przyjrzymy się, jak zastosowanie tej metody może pomóc zespołom w różnych branżach zwiększyć ich produktywność i skuteczność.
Inline CSS: Co to jest i jak różni się od stylów zewnętrznych i wbudowanych?
6 cze 2024
Inline CSS to metoda stosowania stylów bezpośrednio w tagach HTML, co różni się od zewnętrznych i wbudowanych arkuszy stylów. W tym artykule przyjrzymy się, jak inline CSS funkcjonuje, jakie ma zalety i ograniczenia, oraz kiedy jest najbardziej odpowiedni w stosunku do innych metod stylizacji.
Podstawy D-Tale: Wprowadzenie do eksploracji danych
5 cze 2024
D-Tale to narzędzie do eksploracji danych, które umożliwia użytkownikom łatwe i intuicyjne przeglądanie oraz analizowanie dużych zbiorów danych. Dzięki bogatemu interfejsowi graficznemu i integracji z Pythonem oraz Pandas, D-Tale staje się niezastąpionym narzędziem dla analityków danych i programistów. W tym artykule przedstawimy podstawowe funkcje D-Tale, pokażemy, jak zacząć pracę z tym narzędziem oraz omówimy jego kluczowe zastosowania w codziennej pracy analitycznej.
Multimodal Interaction: Co to jest i jakie są jej podstawowe założenia?
5 cze 2024
Multimodal Interaction to zaawansowane podejście do interakcji między użytkownikami a systemami komputerowymi, które wykorzystuje różnorodne formy komunikacji, takie jak głos, gesty, dotyk i wzrok. Celem tego podejścia jest stworzenie bardziej naturalnych i intuicyjnych interakcji, które naśladują sposób, w jaki ludzie komunikują się ze sobą. W niniejszym artykule przyjrzymy się, czym dokładnie jest multimodalna interakcja, jakie są jej podstawowe założenia oraz jakie korzyści i wyzwania z nią związane.
Zobacz wszystkie artykuły