Ekstrakcja danych z jezykiem Python Pozyskiwanie danych z internetu Wydanie II.pdf

(2255 KB) Pobierz
Tytuł oryginału: Web Scraping with Python: Collecting More Data from the Modern Web, 2nd Edition
Tłumaczenie: Krzysztof Sawka
ISBN: 978-83-283-5635-1
© 2019 Helion SA
Authorized Polish translation of the English edition of Web Scraping with Python, 2E
ISBN 9781491985571 © 2018 Ryan Mitchell.
This translation is published and sold by permission of O' Reilly Media, Inc.,
which owns or controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/ekspy2
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/ekspy2.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa ........................................................................................................................... 9
Część I. Tworzenie pełzaczy
1. Twój pierwszy robot indeksujący ............................................................................... 17
Połączenie
Wprowadzenie do biblioteki BeautifulSoup
Instalacja biblioteki BeautifulSoup
Korzystanie z biblioteki BeautifulSoup
Stabilne połączenia i obsługa wyjątków
17
19
20
22
23
2. Zaawansowana analiza składniowa HTML .................................................................. 27
Młotek nie zawsze jest potrzebny
Kolejna porcja BeautifulSoup
Funkcje find() i find_all()
Inne obiekty biblioteki BeautifulSoup
Poruszanie się po drzewach hierarchii
Wyrażenia regularne
Wyrażenia regularne w bibliotece BeautifulSoup
Uzyskiwanie dostępu do atrybutów
Wyrażenia lambda
27
28
30
32
32
36
40
41
41
3. Tworzenie robotów indeksujących ............................................................................. 43
Poruszanie się po pojedynczej domenie
Pełzanie po całej witrynie
Gromadzenie danych z całej witryny
Pełzanie po internecie
43
47
49
51
3
Kup książkę
Poleć książkę
4. Modele ekstrakcji danych .......................................................................................... 57
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
58
61
65
65
68
70
72
5. Scrapy ....................................................................................................................... 73
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
73
74
75
76
80
81
82
85
86
6. Przechowywanie danych ........................................................................................... 87
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
87
90
92
92
94
97
100
102
105
Część II. Zaawansowana ekstrakcja danych
7. Odczytywanie dokumentów .................................................................................... 109
Kodowanie dokumentu
Pliki tekstowe
Kodowanie tekstu a internet globalny
Format CSV
Odczyt plików CSV
Format PDF
Edytor Microsoft Word i pliki .docx
109
110
110
114
115
116
118
4
Spis treści
Poleć książkę
Kup książkę
8. Oczyszczanie danych ................................................................................................123
Oczyszczanie na poziomie kodu
Normalizacja danych
Oczyszczanie pozyskanych danych
OpenRefine
123
126
128
128
9. Odczyt i zapis języków naturalnych ...........................................................................133
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
134
137
140
142
143
143
145
149
10. Kwestia formularzy i pól logowania ..........................................................................151
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
151
152
153
155
155
157
158
11. Ekstrakcja danych a język JavaScript .........................................................................159
Krótkie wprowadzenie do języka JavaScript
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
160
161
163
164
169
169
171
12. Ekstrakcja danych poprzez API ..................................................................................173
Krótkie wprowadzenie do API
Metody HTTP a API
Dodatkowe informacje na temat odpowiedzi API
Analizowanie składni formatu JSON
173
175
176
177
Spis treści
Kup książkę
5
Poleć książkę
Zgłoś jeśli naruszono regulamin