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.
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