Cliquez ici jusqu'à hier
Vous deviendrez ingénieur dans 100 jours-70-Programmation-À propos du scraping
Vous deviendrez ingénieur dans 100 jours - Jour 63 - Programmation - À propos de la probabilité 1
Vous deviendrez ingénieur dans 100 jours - Jour 59 - Programmation - À propos des algorithmes
Vous deviendrez ingénieur dans 100 jours --- Jour 53 --Git --À propos de Git
Vous deviendrez ingénieur dans 100 jours - Jour 42 --Cloud --À propos des services cloud
Vous deviendrez ingénieur dans 100 jours-24 jours-Python-Bases du langage Python 1
Vous deviendrez ingénieur dans 100 jours --Jour 18 --Javascript --Les bases de JavaScript 1
Vous deviendrez ingénieur dans 100 jours - Jour 14 --CSS --CSS Basics 1
Vous deviendrez ingénieur dans 100 jours - Jour 6 --HTML - Bases du HTML 1
Cette fois, c'est aussi une continuation du grattage.
Si vous avez terminé d'installer Selenium, vous pouvez continuer.
Chargez la bibliothèque. En supposant que Google Chrome fonctionnera ...
from selenium import webdriver
#Paramètres du pilote
chromedriver = "Pass complet du conducteur"
driver = webdriver.Chrome(executable_path=chromedriver)
Je pense que la destination de sauvegarde du pilote WEB est différente pour chaque personne, veuillez donc la réécrire. C'est la manière de lancer Google Chrome.
Si vous recevez un message d'erreur, vous devez faire correspondre le pilote WEB et la version de Chrome. Il peut également être nécessaire de définir des autorisations pour que le pilote WEB puisse être exécuté, vérifiez donc les détails de l'erreur et prenez les mesures appropriées.
À ce stade, vous pouvez utiliser le navigateur, de sorte que vous pouvez effectuer diverses opérations.
Une fois que vous ouvrez le navigateur, il reste ouvert jusqu'à ce que vous le fermiez. N'oubliez pas de le laisser tomber, car l'ouvrir en grand nombre consomme des ressources.
Vous pouvez également l'ouvrir en mode sans en-tête
lorsque vous utilisez du sélénium.
Le mode sans en-tête
est un mécanisme qui déplace le navigateur dans les coulisses sans le lancer visiblement.
C'est un mode très pratique car il économise des ressources et vous permet d'utiliser Selenium sur des serveurs Linux.
Pour écrire, créez une variable pour ajouter le paramètre ʻoptiondu navigateur Ajoutez le paramètre
headerless` et ajoutez-le à l'argument de la méthode d'appel du pilote WEB.
ʻOption variable = webdriver.ChromeOptions () ʻOptional variable .add_argument ('--headless')
Variable de pilote = webdriver.Chrome (options = variable d'option)
from selenium import webdriver
#Paramètres du pilote
chromedriver = "Pass complet du conducteur"
#Réglage des options
options = webdriver.ChromeOptions()
options.add_argument('--headless')
#Appel du chauffeur
driver = webdriver.Chrome(executable_path=chromedriver,
options=options)
Nous allons opérer en utilisant les variables lorsque le sélénium est appelé. Puisque nous l'avons appelé avec le nom de variable «driver» plus tôt, nous l'appellerons désormais «variable de pilote».
Pour accéder au site Web
Variable de pilote .get (URL)
Tapez pour exécuter.
driver.get(URL)
Passons à mon HP à titre d'essai.
driver.get('http://www.otupy.net')
Vous pouvez saisir l'URL pour accéder au site chaque fois que vous l'exécutez. L'affichage de tous les sites Web prendra un certain temps, il est donc préférable d'attendre un certain temps avant d'effectuer toute opération ultérieure.
Vous pouvez faire défiler le site en exécutant Javascript. Vous pouvez taper le script avec ʻexecute_script`.
Variable de pilote .execute_script (Javascript)
Pour la partie Javascript, saisissez le script sous forme de caractère
window.scrollBy (0, Y)
et window.scrollTo (0, Y)
Utilisez pour déterminer la position de défilement.
window.scrollBy (0, window.innerHeight);
pour une page
Spécifiez window.scrollTo (0, document.body.scrollHeight);
pour faire défiler vers le bas.
Faisons défiler.
#Faites défiler un peu
driver.execute_script("window.scrollBy(0, window.innerHeight);")
#Faites défiler vers le bas
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
Vous pouvez maintenant faire défiler le navigateur.
Pour travailler avec votre site, vous devez trouver l'élément où vous souhaitez travailler. Vous pouvez rechercher des éléments sur le site tels que des orchidées d'entrée.
Il existe de nombreuses façons de trouver un élément
Variable de pilote .find_element_by_XXXX
Vous pouvez rechercher par la valeur de chaque attribut avec la méthode.
Si un élément est trouvé, il sera extrait comme un type de données appelé «WebElement».
** Recherche par attribut d'identifiant **
Variable de pilote .find_element_by_id (valeur de l'attribut id)
** Recherche par attribut de nom **
Variable de pilote .find_element_by_name (valeur de l'attribut name)
** Recherche par nom de classe **
Variable de pilote .find_element_by_class_name (nom de la classe)
** nom du tag **
Variable de pilote .find_element_by_tag_name (nom de la balise)
** Recherche par link_text **
Variable de pilote .find_element_by_link_text (valeur de link_text)
CSS_Selector
Variable de pilote .find_element_by_css_selector (valeur de css_selector)
xpath
Variable de pilote .find_element_by_xpath (valeur de xpath)
Vous devez d'abord trouver l'élément pour travailler avec lui. Si vous trouvez un élément par la méthode ci-dessus, affectez-le à la ʻelement variable` et vous pouvez effectuer les opérations suivantes.
ʻElement variable .find_element_by_XXXX () ʻElement variable. Méthode d'opération
** Cliquez sur un élément **
ʻElement variable .click () `
** Entrez des caractères dans l'élément **
ʻElement variable .send_keys (caractère) `
** Entrée clé avec élément **
Chargez d'abord la bibliothèque Keys
.
from selenium.webdriver.common.keys import Keys
Trouvez ensuite l'élément et utilisez send_keys
pour saisir la clé.
ʻElement variable .send_keys (Keys. Clés spéciales) `
Les clés qui peuvent être manipulées sont les suivantes.
Clé | Keys |
---|---|
La touche Entrée | Keys.ENTER |
Touche Alt(Combiné avec une clé normale) | Keys.ALT,"Clé" |
← touche | Keys.LEFT |
→ clé | Keys.RIGHT |
Touche ↑ | Keys.UP |
Touche ↓ | Keys.DOWN |
Touche Ctrl(Combiné avec une clé normale) | Keys.CONTROL,"Clé" |
Supprimer la clé | Keys.DELETE |
Clé de la maison | Keys.HOME |
Touche FIN | Keys.END |
Touche ESCAPE | Keys.ESCAPE |
égal | Keys.EQUALS |
Touche COMMAND | Keys.COMMAND |
Touche F1 | Keys.F1 |
touche Majuscule(Combiné avec une clé normale) | Keys.SHIFT,"Clé" |
Touche de bas de page | Keys.PAGE_DOWN |
Touche Page précédente | Keys.PAGE_UP |
Touche espace | Keys.SPACE |
Touche retour | Keys.RETURN |
La touche TAB | Keys.TAB |
Vous pouvez obtenir le code source de la page sous forme de chaîne.
Variable de pilote .page_source
driver.page_source
Après l'acquisition, l'analyse peut être effectuée à l'aide d'une bibliothèque telle que «BeautifulSoup».
Avec du sélénium, avec des techniques de grattage normales C'est pratique car vous pouvez facilement obtenir des informations qui ne peuvent pas être obtenues.
Si vous rencontrez des difficultés pour obtenir des données, essayez le sélénium. Si vous pouvez faire cela, vous pourrez obtenir des données écrasantes.
25 jours jusqu'à ce que vous deveniez ingénieur
HP d'Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython
Recommended Posts