Ekstrakcja danych z językiem Python. Pozyskiwanie danych z internetu. Wydanie II - ebook
Ekstrakcja danych z językiem Python. Pozyskiwanie danych z internetu. Wydanie II - 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!
Spis treści
- 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
- Instalacja biblioteki Scrapy
- 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
- Kodowanie tekstu a internet globalny
- 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
- OpenRefine
- Oczyszczanie na poziomie kodu
- 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
- Popularne biblioteki JavaScriptu
- 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
- Krótkie wprowadzenie do 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
- Krótkie wprowadzenie do 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
- Przegląd bibliotek
- 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
- Interakcje z witryną
- Selenium czy unittest?
- Wprowadzenie do testowania
- 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
- Powody korzystania z serwerów zdalnych
- 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
- Znaki towarowe, prawa autorskie, patenty, ojej!
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-5636-8 |
Rozmiar pliku: | 4,0 MB |