[PYTHON] Méthodes fréquemment utilisées de sélénium et de belle soupe

Je me perds toujours dans le codage du sélénium et de la belle soupe, alors faites une note pour moi-même. Je poste également jQuery.

environnement

pip

pip install requests
pip install beautifulsoup4

Selenium (Python)

#Initialisation
from selenium import webdriver
driver = webdriver.Chrome()
url = 'https://qiita.com/users'
driver.get(url)

#Obtenez un élément(css selector)
element1 = driver.find_element_by_css_selector('.UsersPage__header')
#Obtenir du texte
print(element1.text)

#Obtenez plusieurs éléments(css selector)
elements = driver.find_elements_by_css_selector('.UsersPage__user')
for elem in elements:
    #Obtenir des attributs
    href = elem.find_element_by_tag_name('a').get_attribute('href')
    print('{}<{}>'.format(elem.text, href))
    
driver.quit()

Beautiful Soup (Python)

#Initialisation
from bs4 import BeautifulSoup
import requests
url = 'https://qiita.com/users'
resp = requests.get(url, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'})
# resp.encoding = resp.apparent_encoding #Ajouter si des caractères déformés
html = resp.text
soup = BeautifulSoup(html, 'html.parser')

#Obtenez un élément(css selector)
element1 = soup.select_one('.UsersPage__header')
#Obtenir du texte
print(element1.get_text())

#Obtenez plusieurs éléments(css selector)
elements = soup.select('.UsersPage__user')
for elem in elements:
    #Obtenir des attributs
    href = elem.find('a').attrs['href']
    print('{}<{}>'.format(elem.get_text(), href))

jQuery (JavaScript)

//Initialisation
location.href = "https://qiita.com/users";
var s=document.createElement("script");
s.setAttribute("src","https://code.jquery.com/jquery-2.2.4.min.js");
document.body.append(s);

//Obtenez un élément(css selector)
const $element1 = $(".UsersPage__header");
//Obtenir du texte
console.log($element1.text());

//Obtenez plusieurs éléments(css selector)
const $elements = $(".UsersPage__user");
$elements.each(function(i,elem) {
  let $elem = $(elem);
  //Obtenir des attributs
  let href = $elem.find("a").attr("href");
  console.log(`${$elem.text()}<${href}>`);
});

Recommended Posts

Méthodes fréquemment utilisées de sélénium et de belle soupe
Liste des fonctions et méthodes intégrées fréquemment utilisées
Selenium Webdriver Résumé des méthodes de fonctionnement fréquemment utilisées
Tableau de comparaison des processus fréquemment utilisés de Python et Clojure
Méthode de test automatisée combinant Beautiful Soup et Selenium (Python)
Sous-packages de SciPy fréquemment utilisés
[Python] Un mémorandum de belle soupe4
Liste des commandes Linux fréquemment utilisées
[Anaconda3] Résumé des commandes fréquemment utilisées
Liste de vérification des compétences de Paiza des rangs D et C fréquemment utilisés ~ Python ~
[Linux] Examen des commandes de base fréquemment utilisées 2
Résumé des commandes fréquemment utilisées de django (débutant)
Résumé des méthodes fréquemment utilisées chez les pandas
Belle soupe
Résumé des commandes fréquemment utilisées dans matplotlib
[Python3] Comprendre les bases de Beautiful Soup
Python + Selenium Résumé des méthodes d'opération fréquemment utilisées
Triez les visages d'anime en grattant les pages de personnages d'anime avec Beautiful Soup et Selenium
Captures d'écran de la pêche sur le Web avec du sélénium et Chrome.
[Linux] Examen des commandes de base fréquemment utilisées
[Apprentissage automatique] Liste des packages fréquemment utilisés
J'ai essayé de notifier la mise à jour de "Hameln" en utilisant "Beautiful Soup" et "IFTTT"
Organiser la signification des méthodes, des classes et des objets
Divulgation complète des méthodes utilisées dans l'apprentissage automatique
Lissage des séries temporelles et des données de forme d'onde 3 méthodes (lissage)
Résumé des tableaux Python fréquemment utilisés (pour moi-même)
[Commande Linux] Un mémorandum des commandes fréquemment utilisées
Résumé des commandes fréquemment utilisées (avec petit commentaire)
Belle note de soupe
Belles éclaboussures de soupe
phantomjs et sélénium
[Introduction à Python] Résumé des fonctions et méthodes qui apparaissent fréquemment en Python [Format du problème]
J'ai essayé différentes choses avec Python: le grattage (Beautiful Soup + Selenium + PhantomJS) et l'analyse morphologique
Enregistrez le texte de toutes les notes Evernote dans SQLite à l'aide de Beautiful Soup et SQL Alchemy
Notez les options fréquemment utilisées dans Python + Selenium + Chrome
Une collection de commandes fréquemment utilisées dans la gestion des serveurs
Récapitulatif des méthodes Pandas utilisées lors de l'extraction de données [Python]
Afficher une liste des commandes fréquemment utilisées sur Zsh
Supprimer / remplacer des éléments spécifiques de la source HTML [Beautiful Soup]
[Python] Types de valeurs statistiques (caractéristiques) et méthodes de calcul
[Pour les débutants] Django Commandes fréquemment utilisées et collection de références