IRONSOFTWAREHOME
KORZYSTANIE Z IRONPDF FOR PYTHON

Scrapy w Pythonie (jak to działa dla programistów)

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Skuteczność i wydajność mają kluczowe znaczenie w dziedzinie scrapingu internetowego i generowania dokumentów. Płynna integracja wydajnych narzędzi i frameworków jest niezbędna do pozyskiwania danych ze stron internetowych i ich późniejszej konwersji na dokumenty o profesjonalnej jakości.

Oto Scrapy, framework do scrapingu stron internetowych w języku Python, oraz IronPDF — dwie potężne biblioteki, które współpracują ze sobą w celu optymalizacji pozyskiwania danych online i tworzenia dynamicznych plików PDF.

Dzięki Scrapy w Pythonie, czołowej bibliotece do indeksowania i scrapowania stron internetowych, programiści mogą teraz bez wysiłku przeglądać złożoną sieć i szybko wyodrębniać dane strukturalne z precyzją i szybkością. Dzięki solidnym selektorom XPath i CSS oraz architekturze asynchronicznej jest to idealna opcja do zadań scrapingowych o dowolnym stopniu złożoności.

Z kolei IronPDF to potężna biblioteka .NET, która obsługuje programowe tworzenie, edycję i manipulowanie dokumentami PDF. IronPDF zapewnia programistom kompletne rozwiązanie do tworzenia dynamicznych i estetycznych dokumentów PDF dzięki swoim potężnym narzędziom do tworzenia plików PDF, które obejmują konwersję HTML do PDF oraz funkcje edycji plików PDF.

W tym poście zaprezentujemy płynną integrację Scrapy Python z IronPDF i pokażemy, jak ta dynamiczna para zmienia sposób, w jaki odbywa się scraping stron internetowych i tworzenie dokumentów. Pokażemy, jak te dwie biblioteki współpracują ze sobą, aby ułatwić złożone zadania i przyspieszyć procesy programistyczne, od pobierania danych z sieci za pomocą Scrapy po dynamiczne generowanie raportów PDF za pomocą IronPDF.

Zapraszamy do odkrywania możliwości scrapingu stron internetowych i generowania dokumentów przy użyciu IronPDF w celu pełnego wykorzystania możliwości Scrapy.

Scrapy w Python (Jak to działa dla programistów): Rysunek 1

Architektura asynchroniczna

Architektura asynchroniczna wykorzystywana przez Scrapy umożliwia przetwarzanie kilku żądań jednocześnie. Prowadzi to do zwiększonej wydajności i szybszego pobierania danych z sieci, szczególnie podczas pracy ze skomplikowanymi stronami internetowymi lub dużymi ilościami danych.

Solidne zarządzanie indeksowaniem

Scrapy posiada zaawansowane funkcje zarządzania procesem indeksowania, takie jak automatyczne filtrowanie adresów URL, konfigurowalne planowanie żądań oraz zintegrowaną obsługę dyrektyw robots.txt. Programiści mogą dostosować sposób indeksowania do własnych potrzeb i zapewnić zgodność z wytycznymi dotyczącymi stron internetowych.

Selektory dla XPath i CSS

Scrapy pozwala użytkownikom nawigować i wybierać elementy na stronach HTML przy użyciu selektorów XPath i CSS. Ta elastyczność sprawia, że pobieranie danych jest bardziej precyzyjne i niezawodne, umożliwiając programistom precyzyjne kierowanie działań na konkretne elementy lub wzorce na stronie internetowej.

Pipeline elementów

Programiści mogą określić komponenty wielokrotnego użytku do przetwarzania zebranych danych przed ich eksportem lub przechowywaniem przy użyciu potoku elementów Scrapy. Wykonując operacje takie jak czyszczenie, walidacja, transformacja i deduplikacja, programiści mogą zagwarantować dokładność i spójność wyodrębnionych danych.

Wbudowane oprogramowanie pośredniczące

Szereg komponentów oprogramowania pośredniczącego, które są preinstalowane w Scrapy, oferuje funkcje takie jak automatyczna obsługa plików cookie, ograniczanie liczby żądań, rotacja agentów użytkownika oraz rotacja serwerów proxy. Te elementy oprogramowania pośredniczącego można łatwo konfigurować i dostosowywać, aby poprawić wydajność scrapingu i rozwiązać typowe problemy.

Architektura rozszerzalna

Tworząc niestandardowe oprogramowanie pośredniczące, rozszerzenia i potoki, programiści mogą jeszcze bardziej spersonalizować i rozszerzyć możliwości Scrapy dzięki jego modułowej i rozszerzalnej architekturze. Dzięki swojej elastyczności programiści mogą z łatwością włączyć Scrapy do swoich obecnych procesów i modyfikować je, aby spełniały ich unikalne potrzeby w zakresie scrapingu.

Tworzenie i konfiguracja Scrapy w języku Python

Zainstaluj Scrapy

Zainstaluj Scrapy za pomocą pip, uruchamiając następujące polecenie:

pip install scrapy
SHELL

Zdefiniuj pająka

Aby zdefiniować swojego pająka, utwórz nowy plik Python (taki jak example.py) w katalogu spiders/. Poniżej znajduje się ilustracja przedstawiająca podstawowego robota, który pobiera dane z adresu URL:

import scrapy

class QuotesSpider(scrapy.Spider):
    # Name of the spider
    name = 'quotes'
    # Starting URL
    start_urls = ['http://quotes.toscrape.com']
    
    def parse(self, response):
        # Iterate through each quote block in the response
        for quote in response.css('div.quote'):
            # Extract and yield quote details
            yield {
                'text': quote.css('span.text::text').get(),
                'author': quote.css('span small.author::text').get(),
                'tags': quote.css('div.tags a.tag::text').getall(),
            }
        # Identify and follow the next page link
        next_page = response.css('li.next a::attr(href)').get()
        if next_page is not None:
            yield response.follow(next_page, self.parse)
Python

Konfiguruj ustawienia

Aby skonfigurować parametry projektu Scrapy, takie jak user-agent, opóźnienia pobierania i potoki, edytuj plik settings.py. Oto ilustracja, jak zmienić user-agent i aktywować potoki:

# Obey robots.txt rules
ROBOTSTXT_OBEY = True
# Set user-agent
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
# Configure pipelines
ITEM_PIPELINES = {
    'myproject.pipelines.MyPipeline': 300,
}
Python

Pierwsze kroki

Rozpoczęcie pracy ze Scrapy i IronPDF wymaga połączenia solidnych umiejętności Scrapy w zakresie scrapingu stron internetowych z dynamicznymi funkcjami tworzenia plików PDF oferowanymi przez IronPDF. Poniżej przedstawię kroki konfiguracji projektu Scrapy, abyś mógł wyodrębnić dane ze stron internetowych i użyć IronPDF do utworzenia dokumentu PDF zawierającego te dane.

Czym jest IronPDF?

IronPDF to potężna biblioteka .NET do programowego tworzenia, edytowania i modyfikowania dokumentów PDF w językach C#, VB.NET i innych językach .NET. Ponieważ zapewnia programistom szeroki zestaw funkcji do dynamicznego tworzenia wysokiej jakości plików PDF, jest popularnym wyborem dla wielu programów.

Scrapy w Python (Jak to działa dla programistów): Rysunek 2

Funkcje IronPDF

Generowanie plików PDF: Korzystając z IronPDF, programiści mogą tworzyć nowe dokumenty PDF lub konwertować istniejące elementy HTML, takie jak tagi, tekst, obrazy i inne formaty plików, do formatu PDF. Ta funkcja jest bardzo przydatna do dynamicznego tworzenia raportów, faktur, paragonów i innych dokumentów.

Konwersja HTML do PDF: IronPDF ułatwia programistom przekształcanie dokumentów HTML, w tym stylów z JavaScript i CSS, w pliki PDF. Umożliwia to tworzenie plików PDF ze stron internetowych, treści generowanych dynamicznie oraz szablonów HTML.

Modyfikacja i edycja dokumentów PDF: IronPDF zapewnia kompleksowy zestaw funkcji do modyfikowania i zmieniania istniejących dokumentów PDF. Programiści mogą łączyć kilka plików PDF, dzielić je na osobne dokumenty, usuwać strony oraz dodawać zakładki, adnotacje i znaki wodne, a także korzystać z innych funkcji, aby dostosować pliki PDF do swoich potrzeb.

Jak zainstalować IronPDF

Po upewnieniu się, że Python jest zainstalowany na komputerze, użyj pip do zainstalowania IronPDF.

pip install ironpdf

Projekt Scrapy z wykorzystaniem IronPDF

Aby zdefiniować swojego pająka, utwórz nowy plik Python (taki jak example.py) w katalogu pająka w projekcie Scrapy (myproject/myproject/spiders). Przykładowy kod prostego robota, który pobiera cytaty z adresu URL:

import scrapy
from IronPdf import *

class QuotesSpider(scrapy.Spider):
    name = 'quotes'
    # Web page link
    start_urls = ['http://quotes.toscrape.com']
    
    def parse(self, response):
        quotes = []
        for quote in response.css('div.quote'):
            title = quote.css('span.text::text').get()
            content = quote.css('span small.author::text').get()
            quotes.append((title, content))  # Append quote to list
        
        # Generate PDF document using IronPDF
        renderer = ChromePdfRenderer()
        pdf = renderer.RenderHtmlAsPdf(self.get_pdf_content(quotes))
        pdf.SaveAs("quotes.pdf")
        
    def get_pdf_content(self, quotes):
        # Generate HTML content for PDF using extracted quotes
        html_content = "<html><head><title>Quotes</title></head><body>"
        for title, content in quotes:
            html_content += f"<h2>{title}</h2><p>Author: {content}</p>"
        html_content += "</body></html>"
        return html_content
Python

W powyższym przykładzie kodu projektu Scrapy z wykorzystaniem IronPDF, IronPDF służy do tworzenia dokumentu PDF na podstawie danych wyodrębnionych za pomocą Scrapy.

Tutaj metoda parse pająka zbiera cytaty ze strony i używa funkcji get_pdf_content do tworzenia zawartości HTML dla pliku PDF. Materiał HTML jest następnie renderowany jako dokument PDF za pomocą IronPDF i zapisywany jako quotes.pdf.

Scrapy w Python (Jak to działa dla programistów): Rysunek 3

Wnioski

Podsumowując, połączenie Scrapy i IronPDF oferuje programistom doskonałą opcję automatyzacji działań związanych z pobieraniem danych z sieci oraz tworzenia dokumentów PDF w locie. Elastyczne funkcje tworzenia plików PDF w IronPDF w połączeniu z potężnymi możliwościami indeksowania i scrapingu Scrapy zapewniają płynny proces gromadzenia ustrukturyzowanych danych z dowolnej strony internetowej oraz przekształcania wyodrębnionych danych w profesjonalnej jakości raporty, faktury lub dokumenty w formacie PDF.

Dzięki wykorzystaniu Scrapy Spider Python programiści mogą skutecznie poruszać się po zawiłościach internetu, pobierać informacje z wielu źródeł i porządkować je w systematyczny sposób. Elastyczna struktura Scrapy, architektura asynchroniczna oraz obsługa selektorów XPath i CSS zapewniają mu elastyczność i skalowalność niezbędną do zarządzania różnorodnymi działaniami związanymi z pobieraniem danych z sieci.

IronPDF obejmuje dożywotnią licencję, która jest dostępna w przystępnej cenie w ramach pakietu. Pakiet oferuje doskonałą wartość, kosztuje tylko $999 (jednorazowy zakup dla kilku systemów). Osoby posiadające licencje mają całodobowy dostęp do pomocy technicznej online. Więcej informacji na temat opłat można znaleźć na stronie internetowej. Odwiedź tę stronę, aby dowiedzieć się więcej o produktach Iron Software.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta