
Création d'un robot d'exploration Web avec Python
Description
Introduction au livre
Comment collecter efficacement des données provenant de différents sites web : de A à Z
Dans le web actuel, riche en données, les possibilités offertes par un robot d'exploration web ne manquent pas.
Pour réaliser cette prouesse, il vous suffit de quelques compétences en programmation Python, et le reste est expliqué dans ce livre.
Ce livre vous aidera à automatiser les tâches grâce à l'exploration du Web et à mieux comprendre le traitement de contenus Web complexes.
Cette troisième édition, entièrement révisée, met à jour le code dans son ensemble et ajoute des exemples pratiques.
Il inclut également Selenium pour l'automatisation du navigateur et XPath pour une extraction de données précise.
Pour tous ceux qui rêvent de devenir un « analyste de données du quotidien » et qui souhaitent collecter efficacement des données dans le monde complexe du web, ce livre sera le guide le plus précis.
Dans le web actuel, riche en données, les possibilités offertes par un robot d'exploration web ne manquent pas.
Pour réaliser cette prouesse, il vous suffit de quelques compétences en programmation Python, et le reste est expliqué dans ce livre.
Ce livre vous aidera à automatiser les tâches grâce à l'exploration du Web et à mieux comprendre le traitement de contenus Web complexes.
Cette troisième édition, entièrement révisée, met à jour le code dans son ensemble et ajoute des exemples pratiques.
Il inclut également Selenium pour l'automatisation du navigateur et XPath pour une extraction de données précise.
Pour tous ceux qui rêvent de devenir un « analyste de données du quotidien » et qui souhaitent collecter efficacement des données dans le monde complexe du web, ce livre sera le guide le plus précis.
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
[PARTIE 1 : Création d'un extracteur de données Web]
CHAPITRE 1 : COMMENT FONCTIONNE INTERNET
1.1 Réseautage
__1.1.1 Couche physique
__1.1.2 Couche de liaison de données
__1.1.3 Couche réseau
__1.1.4 Couche de transport
__1.1.5 Couche de session
__1.1.6 Couche de présentation
__1.1.7 Couche application
_1.2 HTML
_1.3 CSS
_1.4 JavaScript
1.5 Inspection d'un site web avec les outils de développement
CHAPITRE 2 : LA LÉGALITÉ ET L'ÉTHIQUE DU SCRAPING WEB
_2.1 Marque déposée ? Droit d’auteur ? Brevet ?
2.1.1 Droit d'auteur
_2.2 Atteinte à la propriété
2.3 Loi sur la fraude et l'abus informatique
_2.4 robots.txt et Conditions d'utilisation
_2.5 Trois cas de Web Scraper
__2.5.1 eBay contre
Le fil du perlier : Intrusion sur propriété
__2.5.2 États-Unis contre
Owenheimer : Loi sur la fraude et les abus informatiques
__2.5.3 Terrain contre
Google : Copyright et robots.txt
CHAPITRE 3 : APPLICATIONS DE SCRAPING WEB
3.1 Classification des projets
3.2 Commerce électronique
3.2.1 Marketing
3.3 Recherche universitaire
3.4 Développement de produits
_3.5 Voyage
_3.6 Ventes
_3.7 Extraction de données des SERP
CHAPITRE 4 : VOTRE PREMIER SCRAPER WEB
4.1 Installation et exécution de Jupyter Notebook
_4.2 Connexion
_4.3 Présentation de BeautifulSoup
__4.3.1 Installation de BeautifulSoup
__4.3.2 Exécution de BeautifulSoup
4.3.3 Connexions fiables et gestion des exceptions
CHAPITRE 5 ANALYSE HTML AVANCÉE
_5.1 BeautifulSoup encore
__5.1.1 find() et find_all()
__5.1.2 Autres objets BeautifulSoup
5.1.3 Mouvement des arbres
_5.2 Expressions régulières
_5.3 Expressions régulières et BeautifulSoup
5.4 Accès aux propriétés
_5.5 Expressions Lambda
_5.6 Vous n'avez pas besoin d'un couteau de boucher pour tuer un poulet.
CHAPITRE 6 : POUR COMMENCER
6.1 Déplacement au sein d'un même domaine
6.2 Exploration de l'intégralité du site
6.2.1 Collecte de données sur l'ensemble du site
6.3 Exploration d'Internet
CHAPITRE 7 Modèle d'exploration du Web
7.1 Planification et définition des objets
_7.2 Gestion des différentes mises en page de sites Web
_7.3 Configuration du robot chenillé
7.3.1 Exploration du site par la recherche
7.3.2 Exploration de sites via des liens
__7.3.3 Exploration de plusieurs types de pages
7.4 Réflexions sur le modèle de robot d'exploration Web
CHAPITRE 8 La tremblante du mouton
8.1 Installation de Scrapee
__8.1.1 Initialisation du nouveau Spider
8.2 Écrire un scraper simple
8.3 Exploration selon les règles
8.4 Création d'un élément
_8.5 Articles imprimés
Pipeline _8.6
8.7 Journalisation Scrapy
8.8 En conclusion
CHAPITRE 9 Stockage des données
_9.1 Fichiers multimédias
_9.2 Enregistrer les données au format CSV
MySQL 9.3
__9.3.1 Installation de MySQL
__9.3.2 Commandes de base
__9.3.3 Intégration avec Python
__9.3.4 Techniques et bonnes pratiques en matière de bases de données
__9.3.5 Six jambes et MySQL
_9.4 Courriel
[PARTIE 2 : Extraction de données avancée]
CHAPITRE 10 Lecture du document
_10.1 Encodage des documents
_10.2 Texte
10.2.1 Encodage de texte et Internet
_10.3 CSV
10.3.1 Lecture des fichiers CSV
_10.4 PDF
_10.5 Microsoft Word et .docx
CHAPITRE 11 : Gérer les données désordonnées
11.1 Organisation du texte
_11.2 Gestion du texte normalisé
_11.3 Organisation des données avec Pandas
__11.3.1 Résumé
11.3.2 Indexation, tri et filtrage
__11.3.3 En savoir plus sur les pandas
CHAPITRE 12 Lire et écrire en langue naturelle
_12.1 Résumé des données
_12.2 Modèle de Markov
12.2.1 Les six jambes de Kevin Bacon : Conclusion
_12.3 Kit d'outils de traitement du langage naturel
__12.3.1 Installation
12.3.2 Analyse statistique à l'aide de NLTK
12.3.3 Analyse lexicale à l'aide de NLTK
12.4 En conclusion
CHAPITRE 13 Déjouer les formulaires et les connexions
_13.1 Bibliothèque de requêtes Python
_13.2 Soumission du formulaire de base
_13.3 Boutons radio, cases à cocher et autres champs
_13.4 Transfert de fichiers et d'images
_13.5 Connexion et gestion des cookies
__13.5.1 Authentification d'accès HTTP de base
_13.6 Autres problèmes de formulaire
CHAPITRE 14 Extraction de données JavaScript
_14.1 Une brève introduction à JavaScript
__14.1.1 Bibliothèques JavaScript populaires
_14.2 Ajax et DHTML
_14.3 Exécuter du JavaScript depuis Python avec Selenium
__14.3.1 Installation et exécution de Selenium
__14.3.2 Sélecteurs Selenium
__14.3.3 En attente du chargement de la page
__14.3.4 XPath
_14.4 Autres pilotes Web Selenium
_14.5 Traitement des redirections
_14.6 Remarques finales sur JavaScript
CHAPITRE 15 Exploration via API
_15.1 Une brève introduction à l'API
15.1.1 Méthodes HTTP et API
__15.1.2 À propos des réponses de l'API
_15.2 Analyse JSON
_15.3 API non documentées
__15.3.1 Recherche d'API non documentées
__15.3.2 Documenter les API non documentées
_15.4 Combinaison des API avec d'autres sources de données
_15.5 En conclusion
CHAPITRE 16 TRAITEMENT D'IMAGES ET RECONNAISSANCE DE TEXTE
_16.1 Aperçu de la bibliothèque
__16.1.1 Philo
__16.1.2 Tesseract
__16.1.3 NumPy
_16.2 Traitement de texte avec un format cohérent
16.2.1 Réglage automatique de l'image
16.2.2 Extraction de texte à partir d'images de sites web
_16.3 Lecture des CAPTCHA et entraînement Tesseract
__16.3.1 Formation Tesseract
_16.4 Importation des CAPTCHA et envoi des réponses
CHAPITRE 17 Éviter les pièges à grattage
_17.1 Sur l'éthique du grattage
_17.2 Ressembler à un humain
__17.2.1 Modifier l'en-tête
__17.2.2 Gestion des cookies
__17.2.3 Empreintes TLS
__17.2.4 Le timing est primordial
17.3 Fonctions de sécurité des formulaires couramment utilisées
__17.3.1 Valeurs des champs cachés
__17.3.2 Éviter les pièges
_17.4 Liste de contrôle pour une apparence humaine
CHAPITRE 18 Tester votre site web avec un scraper
_18.1 Introduction aux tests
__18.1.1 Qu'est-ce qu'un test unitaire ?
_18.2 Test unitaire Python
__18.2.1 Test Wikipédia
_18.3 Tests avec Selenium
__18.3.1 Manipulation du site
CHAPITRE 19 SCRAPING WEB PARALLÈLE
_19.1 Processus vs.
Fil
_19.2 Exploration multithread
__19.2.1 Conditions de concurrence et files d'attente
Module de gestion des threads __19.2.2
_19.3 Multiprocessus
__19.3.1 Exploration multiprocessus
19.3.2 Communication interprocessus
_19.4 Une autre approche de l'exploration multiprocessus
CHAPITRE 20 Proxy de web scraping
_20.1 Pourquoi utiliser un serveur distant ?
__20.1.1 Empêcher le blocage des adresses IP
__20.1.2 Mobilité et évolutivité
_20.2 Thor
__20.2.1 Pysax
_20.3 Hébergement à distance
__20.3.1 Exécution sur un compte d'hébergement web
__20.3.2 Exécution dans le cloud
__20.3.3 Vers l'avenir
_20.4 Proxy de web scraping
__20.4.1 Frais de scraping
API Scraper __20.4.2
__20.4.3 Oxylabs
__20.4.4 Zite
_20.5 En conclusion
CHAPITRE 1 : COMMENT FONCTIONNE INTERNET
1.1 Réseautage
__1.1.1 Couche physique
__1.1.2 Couche de liaison de données
__1.1.3 Couche réseau
__1.1.4 Couche de transport
__1.1.5 Couche de session
__1.1.6 Couche de présentation
__1.1.7 Couche application
_1.2 HTML
_1.3 CSS
_1.4 JavaScript
1.5 Inspection d'un site web avec les outils de développement
CHAPITRE 2 : LA LÉGALITÉ ET L'ÉTHIQUE DU SCRAPING WEB
_2.1 Marque déposée ? Droit d’auteur ? Brevet ?
2.1.1 Droit d'auteur
_2.2 Atteinte à la propriété
2.3 Loi sur la fraude et l'abus informatique
_2.4 robots.txt et Conditions d'utilisation
_2.5 Trois cas de Web Scraper
__2.5.1 eBay contre
Le fil du perlier : Intrusion sur propriété
__2.5.2 États-Unis contre
Owenheimer : Loi sur la fraude et les abus informatiques
__2.5.3 Terrain contre
Google : Copyright et robots.txt
CHAPITRE 3 : APPLICATIONS DE SCRAPING WEB
3.1 Classification des projets
3.2 Commerce électronique
3.2.1 Marketing
3.3 Recherche universitaire
3.4 Développement de produits
_3.5 Voyage
_3.6 Ventes
_3.7 Extraction de données des SERP
CHAPITRE 4 : VOTRE PREMIER SCRAPER WEB
4.1 Installation et exécution de Jupyter Notebook
_4.2 Connexion
_4.3 Présentation de BeautifulSoup
__4.3.1 Installation de BeautifulSoup
__4.3.2 Exécution de BeautifulSoup
4.3.3 Connexions fiables et gestion des exceptions
CHAPITRE 5 ANALYSE HTML AVANCÉE
_5.1 BeautifulSoup encore
__5.1.1 find() et find_all()
__5.1.2 Autres objets BeautifulSoup
5.1.3 Mouvement des arbres
_5.2 Expressions régulières
_5.3 Expressions régulières et BeautifulSoup
5.4 Accès aux propriétés
_5.5 Expressions Lambda
_5.6 Vous n'avez pas besoin d'un couteau de boucher pour tuer un poulet.
CHAPITRE 6 : POUR COMMENCER
6.1 Déplacement au sein d'un même domaine
6.2 Exploration de l'intégralité du site
6.2.1 Collecte de données sur l'ensemble du site
6.3 Exploration d'Internet
CHAPITRE 7 Modèle d'exploration du Web
7.1 Planification et définition des objets
_7.2 Gestion des différentes mises en page de sites Web
_7.3 Configuration du robot chenillé
7.3.1 Exploration du site par la recherche
7.3.2 Exploration de sites via des liens
__7.3.3 Exploration de plusieurs types de pages
7.4 Réflexions sur le modèle de robot d'exploration Web
CHAPITRE 8 La tremblante du mouton
8.1 Installation de Scrapee
__8.1.1 Initialisation du nouveau Spider
8.2 Écrire un scraper simple
8.3 Exploration selon les règles
8.4 Création d'un élément
_8.5 Articles imprimés
Pipeline _8.6
8.7 Journalisation Scrapy
8.8 En conclusion
CHAPITRE 9 Stockage des données
_9.1 Fichiers multimédias
_9.2 Enregistrer les données au format CSV
MySQL 9.3
__9.3.1 Installation de MySQL
__9.3.2 Commandes de base
__9.3.3 Intégration avec Python
__9.3.4 Techniques et bonnes pratiques en matière de bases de données
__9.3.5 Six jambes et MySQL
_9.4 Courriel
[PARTIE 2 : Extraction de données avancée]
CHAPITRE 10 Lecture du document
_10.1 Encodage des documents
_10.2 Texte
10.2.1 Encodage de texte et Internet
_10.3 CSV
10.3.1 Lecture des fichiers CSV
_10.4 PDF
_10.5 Microsoft Word et .docx
CHAPITRE 11 : Gérer les données désordonnées
11.1 Organisation du texte
_11.2 Gestion du texte normalisé
_11.3 Organisation des données avec Pandas
__11.3.1 Résumé
11.3.2 Indexation, tri et filtrage
__11.3.3 En savoir plus sur les pandas
CHAPITRE 12 Lire et écrire en langue naturelle
_12.1 Résumé des données
_12.2 Modèle de Markov
12.2.1 Les six jambes de Kevin Bacon : Conclusion
_12.3 Kit d'outils de traitement du langage naturel
__12.3.1 Installation
12.3.2 Analyse statistique à l'aide de NLTK
12.3.3 Analyse lexicale à l'aide de NLTK
12.4 En conclusion
CHAPITRE 13 Déjouer les formulaires et les connexions
_13.1 Bibliothèque de requêtes Python
_13.2 Soumission du formulaire de base
_13.3 Boutons radio, cases à cocher et autres champs
_13.4 Transfert de fichiers et d'images
_13.5 Connexion et gestion des cookies
__13.5.1 Authentification d'accès HTTP de base
_13.6 Autres problèmes de formulaire
CHAPITRE 14 Extraction de données JavaScript
_14.1 Une brève introduction à JavaScript
__14.1.1 Bibliothèques JavaScript populaires
_14.2 Ajax et DHTML
_14.3 Exécuter du JavaScript depuis Python avec Selenium
__14.3.1 Installation et exécution de Selenium
__14.3.2 Sélecteurs Selenium
__14.3.3 En attente du chargement de la page
__14.3.4 XPath
_14.4 Autres pilotes Web Selenium
_14.5 Traitement des redirections
_14.6 Remarques finales sur JavaScript
CHAPITRE 15 Exploration via API
_15.1 Une brève introduction à l'API
15.1.1 Méthodes HTTP et API
__15.1.2 À propos des réponses de l'API
_15.2 Analyse JSON
_15.3 API non documentées
__15.3.1 Recherche d'API non documentées
__15.3.2 Documenter les API non documentées
_15.4 Combinaison des API avec d'autres sources de données
_15.5 En conclusion
CHAPITRE 16 TRAITEMENT D'IMAGES ET RECONNAISSANCE DE TEXTE
_16.1 Aperçu de la bibliothèque
__16.1.1 Philo
__16.1.2 Tesseract
__16.1.3 NumPy
_16.2 Traitement de texte avec un format cohérent
16.2.1 Réglage automatique de l'image
16.2.2 Extraction de texte à partir d'images de sites web
_16.3 Lecture des CAPTCHA et entraînement Tesseract
__16.3.1 Formation Tesseract
_16.4 Importation des CAPTCHA et envoi des réponses
CHAPITRE 17 Éviter les pièges à grattage
_17.1 Sur l'éthique du grattage
_17.2 Ressembler à un humain
__17.2.1 Modifier l'en-tête
__17.2.2 Gestion des cookies
__17.2.3 Empreintes TLS
__17.2.4 Le timing est primordial
17.3 Fonctions de sécurité des formulaires couramment utilisées
__17.3.1 Valeurs des champs cachés
__17.3.2 Éviter les pièges
_17.4 Liste de contrôle pour une apparence humaine
CHAPITRE 18 Tester votre site web avec un scraper
_18.1 Introduction aux tests
__18.1.1 Qu'est-ce qu'un test unitaire ?
_18.2 Test unitaire Python
__18.2.1 Test Wikipédia
_18.3 Tests avec Selenium
__18.3.1 Manipulation du site
CHAPITRE 19 SCRAPING WEB PARALLÈLE
_19.1 Processus vs.
Fil
_19.2 Exploration multithread
__19.2.1 Conditions de concurrence et files d'attente
Module de gestion des threads __19.2.2
_19.3 Multiprocessus
__19.3.1 Exploration multiprocessus
19.3.2 Communication interprocessus
_19.4 Une autre approche de l'exploration multiprocessus
CHAPITRE 20 Proxy de web scraping
_20.1 Pourquoi utiliser un serveur distant ?
__20.1.1 Empêcher le blocage des adresses IP
__20.1.2 Mobilité et évolutivité
_20.2 Thor
__20.2.1 Pysax
_20.3 Hébergement à distance
__20.3.1 Exécution sur un compte d'hébergement web
__20.3.2 Exécution dans le cloud
__20.3.3 Vers l'avenir
_20.4 Proxy de web scraping
__20.4.1 Frais de scraping
API Scraper __20.4.2
__20.4.3 Oxylabs
__20.4.4 Zite
_20.5 En conclusion
Image détaillée

Avis de l'éditeur
Des bases du HTML à l'extraction de données basée sur l'IA,
Un guide de pointe sur l'exploration du Web pour vous aider à surmonter les obstacles toujours plus nombreux du web.
Comment extraire les données souhaitées de l'océan d'informations, vaste, de plus en plus diversifié et complexe ?
Existe-t-il des outils efficaces pour transformer des données éparses en informations exploitables ? « Building a Web Crawler with Python (3rd Edition) » apporte des réponses parfaites à ces questions.
La première partie présente les concepts de base du web crawling et un robot d'exploration web relativement simple utilisant Python et des bibliothèques populaires telles que BeautifulSoup et Scrapy.
Ensuite, vous apprendrez les bases de la navigation web tout en découvrant des technologies essentielles telles que le stockage de données dans MySQL, le traitement des API et l'analyse de documents dans des formats tels que CSV, PDF et Word.
La partie 2 s'appuie sur les principes fondamentaux appris dans la partie 1 et couvre des techniques avancées d'analyse et de traitement d'environnements Web plus complexes.
Apprenez à extraire des données de pages dynamiques basées sur JavaScript à l'aide de Selenium et à nettoyer les données désordonnées grâce à des outils comme Pandas.
Nous abordons également le traitement automatique du langage naturel à l'aide de NLTK, qui peut extraire du sens à partir de données textuelles, et d'outils comme Tesseract et Philo, qui peuvent extraire du texte à partir d'images et contourner les CAPTCHA.
Afin de répondre au mieux à l'évolution de l'environnement web moderne, la 3e édition révisée a réorganisé le contenu dans une structure plus compréhensible que la 2e édition, et le code a été globalement mis à jour.
Nous sommes convaincus que ce livre satisfera aussi bien les débutants qui font leurs premiers pas dans le web crawling que les utilisateurs intermédiaires et avancés qui utilisent déjà le web crawling dans leur travail.
Public cible
● Tous les développeurs qui souhaitent commencer à explorer le Web
● Les développeurs qui utilisent déjà l'exploration du Web dans leur travail
● Les développeurs qui souhaitent collecter des données web à l'aide de Python
Contenu principal
● Analyse HTML complexe
● Lecture et écriture en langue naturelle
● Exploration des formulaires et des identifiants de connexion
● Création d'un crawler avec le framework Scrapy
● Différentes manières de stocker les données collectées
● Utilisation des collections et des API JavaScript
● Lire et extraire des données à partir de documents
Comment éviter le blocage par les bots
● Organisation des formats de données désordonnés
● Tests de sites web à l'aide de robots d'exploration
Un guide de pointe sur l'exploration du Web pour vous aider à surmonter les obstacles toujours plus nombreux du web.
Comment extraire les données souhaitées de l'océan d'informations, vaste, de plus en plus diversifié et complexe ?
Existe-t-il des outils efficaces pour transformer des données éparses en informations exploitables ? « Building a Web Crawler with Python (3rd Edition) » apporte des réponses parfaites à ces questions.
La première partie présente les concepts de base du web crawling et un robot d'exploration web relativement simple utilisant Python et des bibliothèques populaires telles que BeautifulSoup et Scrapy.
Ensuite, vous apprendrez les bases de la navigation web tout en découvrant des technologies essentielles telles que le stockage de données dans MySQL, le traitement des API et l'analyse de documents dans des formats tels que CSV, PDF et Word.
La partie 2 s'appuie sur les principes fondamentaux appris dans la partie 1 et couvre des techniques avancées d'analyse et de traitement d'environnements Web plus complexes.
Apprenez à extraire des données de pages dynamiques basées sur JavaScript à l'aide de Selenium et à nettoyer les données désordonnées grâce à des outils comme Pandas.
Nous abordons également le traitement automatique du langage naturel à l'aide de NLTK, qui peut extraire du sens à partir de données textuelles, et d'outils comme Tesseract et Philo, qui peuvent extraire du texte à partir d'images et contourner les CAPTCHA.
Afin de répondre au mieux à l'évolution de l'environnement web moderne, la 3e édition révisée a réorganisé le contenu dans une structure plus compréhensible que la 2e édition, et le code a été globalement mis à jour.
Nous sommes convaincus que ce livre satisfera aussi bien les débutants qui font leurs premiers pas dans le web crawling que les utilisateurs intermédiaires et avancés qui utilisent déjà le web crawling dans leur travail.
Public cible
● Tous les développeurs qui souhaitent commencer à explorer le Web
● Les développeurs qui utilisent déjà l'exploration du Web dans leur travail
● Les développeurs qui souhaitent collecter des données web à l'aide de Python
Contenu principal
● Analyse HTML complexe
● Lecture et écriture en langue naturelle
● Exploration des formulaires et des identifiants de connexion
● Création d'un crawler avec le framework Scrapy
● Différentes manières de stocker les données collectées
● Utilisation des collections et des API JavaScript
● Lire et extraire des données à partir de documents
Comment éviter le blocage par les bots
● Organisation des formats de données désordonnés
● Tests de sites web à l'aide de robots d'exploration
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 31 janvier 2025
- Nombre de pages, poids, dimensions : 412 pages | 183 × 235 × 16 mm
- ISBN13 : 9791169213240
- ISBN10 : 1169213243
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne