


Stracage Web: Extraction efficace des données des pages Web
Ce tutoriel explique comment le contenu de la page Web est rendu et comment le gratter à l'aide de Python, de demandes, de belle soupe et de sélénium. Nous nous concentrerons sur le grattage du contenu dynamique, en particulier les commentaires.
Quand le grattage Web est-il nécessaire?
Le grattage Web récupère, analyse et extrait automatiquement les informations des pages Web, souvent celles conçues pour l'interaction humaine. C'est un dernier recours lorsque les API ne sont pas disponibles. Considérez ces inconvénients:
- Fragilité: Les pages Web changent fréquemment, brisant les grattoirs.
- Restrictions: De nombreux sites Web interdisent le grattage.
- Performances: La racine de gros volumes de données peut être lente et coûteuse.
Comprendre les pages Web modernes
Examinons la structure des applications Web typiques. Nous utiliserons l'article "Introduction à Vagrant" comme exemple. Pour gratter le contenu, nous devons d'abord localiser les éléments HTML pertinents.
Affichage de la source de la page
Les navigateurs permettent à la visualisation de la source HTML. La source "Introduction à Vagrant" révèle une partie importante de JavaScript minifié sans rapport avec le contenu de l'article lui-même. Un petit extrait est illustré ci-dessous:
Voici un échantillon du HTML:
statique vs grattage dynamique
STATIC SCRATHING Ignore JavaScript, récupérant le HTML côté serveur brut. Cela fonctionne si le contenu cible est directement dans la source. Cependant, pour le contenu généré par JavaScript (contenu dynamique), cette méthode échoue. Stracage dynamique utilise des outils comme le sélénium pour interagir avec la page comme le ferait un navigateur, rendant le javascript et rendant le contenu dynamique disponible.
Stracage des commentaires dynamiques avec le sélénium
Stramissons les commentaires d'un site Web (exemple: Codecananyon Commentaires). Nous utiliserons le sélénium pour naviguer vers l'URL des commentaires:
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://codecanyon.net/item/whatshelp-whatsapp-help-and-support-plugin-for-javascript/42202303/comments')
Localisation de l'élément de commentaires nécessite d'inspecter la page (cliquez avec le bouton droit, "inspecter"). Le sélénium WebDriverWait
aide à gérer le chargement asynchrone:
from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() url = 'http://www.c2.com/loading-page' driver.get(url) element = WebDriverWait(driver, 5).until( EC.presence_of_element_located((By.ID, "loaded_element")) )
Conclusion
Le grattage Web est précieux lorsque les données nécessaires ne sont pas facilement disponibles via des API. Bien que difficile avec les applications Web modernes, des outils comme les demandes, la belle soupe et le sélénium simplifient le processus.
Ce tutoriel intègre les contributions d'Esther Vaati, développeur de logiciels et écrivain pour Envato TUTS.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Inpython, youAPPEndElementStoalistUsingTheAppend () Method.1) useAppend () forsingleelements: my_list.append (4) .2) useExtend () ou = formultipleElements: my_list.extend (autre_list) ormy_list = [4,5,6] .3) useInsert () ForSpecific Positions: my_list.insert (1,5) .beaware

Les méthodes pour déboguer le problème Shebang comprennent: 1. Vérifiez la ligne Shebang pour vous assurer qu'il s'agit de la première ligne du script et il n'y a pas d'espaces préfixés; 2. Vérifiez si le chemin de l'interprète est correct; 3. Appelez directement l'interprète pour exécuter le script pour isoler le problème Shebang; 4. Utilisez Strace ou Trusts pour suivre les appels du système; 5. Vérifiez l'impact des variables environnementales sur Shebang.

PythonlistScanBemanipuledUsingSeveralthodstoreMoveElements: 1) theremove () methodremovesthefirstoccurrenceofaspecifiedValue.2) thepop () methodremersAndreturnsLelementAprivenIndex.3)

PythonlistScanstoreanyDatatype, notamment les intérêts, les cordes, les flotteurs, les booléens, les autres listes et les indicateurs.

PythonListSSupportNumeousOperations: 1) AddingElementsWithAptend (), Extend (), Andinsert (). 2) RemovingItemSusingRemove (), Pop (), etClear (). 3) Accessing etModifierwithIthIndexingandsliting.4) searchingAndSortingWithindex (), SOT (), andReward ().

Créer des tableaux multidimensionnels avec Numpy peut être réalisé via les étapes suivantes: 1) Utilisez la fonction numpy.array () pour créer un tableau, tel que np.array ([[1,2,3], [4,5,6]]) pour créer un tableau 2D; 2) utiliser np.zeros (), np.ones (), np.random.random () et d'autres fonctions pour créer un tableau rempli de valeurs spécifiques; 3) Comprendre les propriétés de forme et de taille du tableau pour vous assurer que la longueur du sous-réseau est cohérente et éviter les erreurs; 4) Utilisez la fonction NP.Reshape () pour modifier la forme du tableau; 5) Faites attention à l'utilisation de la mémoire pour vous assurer que le code est clair et efficace.

BroadcastingInNumpyIsAmethodToperformOperations OnerwaysofdifferentShapesByAutomAticalAligningThem.itImplienScode, améliore la réadabilité et BoostsTerformance.He'showitwork

Forpythondatastorage, chooseListsforflexibilitywithMixedDatatyS, array.Arrayformmemory-efficienthomogeneousnumericalData, andNumpyArraysforaSvancedNumericalComputing.ListaSaRaySatilebutless


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Dreamweaver Mac
Outils de développement Web visuel

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP
