E-book details

Ekstrakcja danych z językiem Python. Pozyskiwanie danych z internetu. Wydanie II

Ekstrakcja danych z językiem Python. Pozyskiwanie danych z internetu. Wydanie II

Ryan Mitchell

Ebook

Ekstrakcję danych (ang. web scraping), zwaną też wydobywaniem danych z zasobów internetu, wiele osób postrzega jako wyższy stopień wtajemniczenia: przy niewielkim wysiłku można uzyskać imponujące wyniki i wykorzystać je w różnoraki sposób. Nie dziwi więc, że wokół tej dziedziny narosło mnóstwo mitów. Wątpliwości jest wiele, począwszy od legalności tego rodzaju praktyk, skończywszy na właściwościach różnych narzędzi. W praktyce na ekstrakcję danych składa się cały szereg zróżnicowanych technik i technologii, takich jak analiza danych, analiza składniowa języka naturalnego, a także zabezpieczenie informacji. Aby w pełni wykorzystać ich zalety, konieczne jest zrozumienie sposobu, w jaki funkcjonują.

Ta książka jest znakomitym przewodnikiem po technikach pozyskiwania danych z internetu. Przedstawiono tu również zasady gromadzenia, przekształcania i wykorzystywania danych z różnych zasobów. W kontekście ekstrakcji danych omówiono zagadnienia związane z bazami danych, serwerami sieciowymi, protokołem HTTP, językiem HTML, bezpieczeństwem sieciowym, przetwarzaniem obrazów, analizą danych i wieloma innymi kwestiami. Zaprezentowane tu rozwiązania programistyczne zostały napisane w Pythonie. Nie zabrakło też omówienia bibliotek przydatnych w pracy osób tworzących roboty indeksujące. Dzięki tej książce szybko zaczniesz pozyskiwać i w dowolny sposób wykorzystywać posiadane dane. Już dziś te rozwiązania są stosowane w prognozowaniu rynkowym, tłumaczeniu maszynowym, a nawet w diagnostyce medycznej!

Najważniejsze zagadnienia:

  • korzystanie z platformy Scrapy do tworzenia robotów
  • metody odczytu, wydobywania i przechowywania pozyskiwanych danych
  • oczyszczanie i normalizacja danych
  • interfejsy API
  • przetwarzanie obrazów na tekst
  • testowanie witryn za pomocą robotów

Wyszukuj dane, gromadź je i korzystaj z nich do woli!

  • Przedmowa
    • Czym jest ekstrakcja danych z internetu?
    • Dlaczego ekstrakcja danych z internetu?
    • Informacje o książce
    • Konwencje używane w tej książce
    • Kod źródłowy
    • Podziękowania
  • Część I Tworzenie pełzaczy
  • Rozdział 1. Twój pierwszy robot indeksujący
    • Połączenie
    • Wprowadzenie do biblioteki BeautifulSoup
      • Instalacja biblioteki BeautifulSoup
      • Korzystanie z biblioteki BeautifulSoup
      • Stabilne połączenia i obsługa wyjątków
  • Rozdział 2. Zaawansowana analiza składniowa HTML
    • Młotek nie zawsze jest potrzebny
    • Kolejna porcja BeautifulSoup
      • Funkcje find() i find_all()
      • Inne obiekty biblioteki BeautifulSoup
      • Poruszanie się po drzewach hierarchii
        • Dzieci i pozostali potomkowie
        • Rodzeństwo
        • Rodzice
    • Wyrażenia regularne
    • Wyrażenia regularne w bibliotece BeautifulSoup
    • Uzyskiwanie dostępu do atrybutów
    • Wyrażenia lambda
  • Rozdział 3. Tworzenie robotów indeksujących
    • Poruszanie się po pojedynczej domenie
    • Pełzanie po całej witrynie
      • Gromadzenie danych z całej witryny
    • Pełzanie po internecie
  • Rozdział 4. Modele ekstrakcji danych
    • Planowanie i definiowanie obiektów
    • Obsługa różnych szat graficznych
    • Konstruowanie robotów indeksujących
      • Poruszanie się po witrynach za pomocą paska wyszukiwania
      • Poruszanie się po witrynach za pomocą odnośników
      • Poruszanie się pomiędzy różnymi typami stron
    • Właściwe podejście do procesu tworzenia modeli robotów indeksujących
  • Rozdział 5. Scrapy
    • Instalacja biblioteki Scrapy
      • Inicjowanie nowego pająka
    • Pisanie prostego robota indeksującego
    • Korzystanie z pająków przy użyciu reguł
    • Tworzenie elementów
    • Wyświetlanie elementów
    • Potoki elementów
    • Dzienniki zdarzeń w bibliotece Scrapy
    • Dodatkowe zasoby
  • Rozdział 6. Przechowywanie danych
    • Pliki multimedialne
    • Przechowywanie danych w plikach CSV
    • MySQL
      • Instalacja środowiska MySQL
      • Podstawowe polecenia
      • Integracja ze środowiskiem Python
      • Techniki bazodanowe i dobre rozwiązania
      • Sześć stopni oddalenia w środowisku MySQL
    • Alerty e-mail
  • Część II Zaawansowana ekstrakcja danych
  • Rozdział 7. Odczytywanie dokumentów
    • Kodowanie dokumentu
    • Pliki tekstowe
      • Kodowanie tekstu a internet globalny
        • Historia kodowania znaków
        • Kodowanie w akcji
    • Format CSV
      • Odczyt plików CSV
    • Format PDF
    • Edytor Microsoft Word i pliki .docx
  • Rozdział 8. Oczyszczanie danych
    • Oczyszczanie na poziomie kodu
      • Normalizacja danych
    • Oczyszczanie pozyskanych danych
      • OpenRefine
        • Instalacja
        • Korzystanie z aplikacji OpenRefine
          • Filtrowanie
          • Oczyszczanie
  • Rozdział 9. Odczyt i zapis języków naturalnych
    • Podsumowywanie danych
    • Modele Markowa
      • Sześć stopni oddalenia od Wikipedii podsumowanie
    • Natural Language Toolkit
      • Instalacja i konfiguracja
      • Analiza statystyczna za pomocą pakietu NLTK
      • Analiza leksykologiczna za pomocą pakietu NLTK
    • Dodatkowe zasoby
  • Rozdział 10. Kwestia formularzy i pól logowania
    • Biblioteka Requests
    • Przesyłanie podstawowego formularza
    • Przyciski opcji, pola zaznaczania i inne mechanizmy wprowadzania danych
    • Wysyłanie plików i obrazów
    • Pola logowania i ciasteczka
      • Podstawowe uwierzytelnianie protokołu HTTP
    • Inne problemy z formularzami
  • Rozdział 11. Ekstrakcja danych a język JavaScript
    • Krótkie wprowadzenie do języka JavaScript
      • Popularne biblioteki JavaScriptu
        • jQuery
        • Google Analytics
        • Google Maps
    • Ajax i dynamiczny HTML
      • Uruchamianie kodu JavaScriptu w środowisku Python za pomocą biblioteki Selenium
      • Dodatkowe obiekty WebDriver
    • Obsługa przekierowań
    • Końcowe uwagi na temat języka JavaScript
  • Rozdział 12. Ekstrakcja danych poprzez API
    • Krótkie wprowadzenie do API
      • Metody HTTP a API
      • Dodatkowe informacje na temat odpowiedzi API
    • Analizowanie składni formatu JSON
    • Nieudokumentowane API
      • Wyszukiwanie nieudokumentowanych API
      • Dokumentowanie nieudokumentowanych API
      • Automatyczne wyszukiwanie i dokumentowanie API
    • Łączenie API z innymi źródłami danych
    • Dodatkowe informacje na temat API
  • Rozdział 13. Przetwarzanie obrazów i rozpoznawanie tekstu
    • Przegląd bibliotek
      • Pillow
      • Tesseract
        • Instalacja aplikacji Tesseract
        • pytesseract
      • NumPy
    • Przetwarzanie prawidłowo sformatowanego tekstu
      • Automatyczne korygowanie obrazów
      • Ekstrakcja danych z obrazów umieszczonych w witrynach
    • Odczytywanie znaków CAPTCHA i uczenie aplikacji Tesseract
      • Uczenie aplikacji Tesseract
    • Ekstrakcja kodów CAPTCHA i przesyłanie odpowiedzi
  • Rozdział 14. Unikanie pułapek na boty
    • Kwestia etyki
    • Udawanie człowieka
      • Dostosuj nagłówki
      • Obsługa ciastek za pomocą języka JavaScript
      • Wyczucie czasu to podstawa
    • Popularne zabezpieczenia formularzy
      • Wartości ukrytych pól wejściowych
      • Unikanie wabików
    • Być człowiekiem
  • Rozdział 15. Testowanie witryn internetowych za pomocą robotów indeksujących
    • Wprowadzenie do testowania
      • Czym są testy jednostkowe?
    • Moduł unittest
      • Testowanie Wikipedii
    • Testowanie za pomocą biblioteki Selenium
      • Interakcje z witryną
        • Przeciąganie i upuszczanie elementów
        • Zrzuty ekranu
    • Selenium czy unittest?
  • Rozdział 16. Zrównoleglanie procesu ekstrakcji danych
    • Procesy i wątki
    • Wielowątkowa ekstrakcja danych
      • Wyścigi i kolejki
      • Moduł threading
    • Wieloprocesowa ekstrakcja danych
      • Przykład z Wikipedią
      • Komunikacja międzyprocesowa
    • Wieloprocesowa ekstrakcja danych metoda alternatywna
  • Rozdział 17. Zdalna ekstrakcja danych z internetu
    • Powody korzystania z serwerów zdalnych
      • Unikanie blokowania adresu IP
      • Przenośność i rozszerzalność
    • Tor
      • PySocks
    • Hosting zdalny
      • Uruchamianie z poziomu serwisu hostingowego
      • Uruchamianie z poziomu chmury
    • Dodatkowe zasoby
  • Rozdział 18. Legalność i etyka ekstrakcji danych z internetu
    • Znaki towarowe, prawa autorskie, patenty, ojej!
      • Prawo autorskie
    • Naruszenie prawa własności rzeczy ruchomych
    • Ustawa o oszustwach i nadużyciach komputerowych
    • Plik robots.txt i warunki świadczenia usług
    • Trzy roboty indeksujące
      • Sprawa eBay przeciwko Bidders Edge (prawo własności rzeczy ruchomych)
      • Sprawa Stany Zjednoczone przeciwko Auernheimerowi (ustawa CFAA)
      • Sprawa Field przeciwko Google (prawo autorskie i plik robots.txt)
    • Co dalej?
    • O autorce
    • Kolofon
  • Title: Ekstrakcja danych z językiem Python. Pozyskiwanie danych z internetu. Wydanie II
  • Author: Ryan Mitchell
  • Original title: Web Scraping with Python: Collecting More Data from the Modern Web, 2nd Edition
  • Translation: Krzysztof Sawka
  • ISBN: 978-83-283-5636-8, 9788328356368
  • Date of issue: 2019-07-23
  • Format: Ebook
  • Item ID: ekspy2
  • Publisher: Helion