Python Language Scraping utilisant Selenium WebDriver


Exemple

Certains sites Web n'aiment pas être effacés. Dans ces cas, vous devrez peut-être simuler un utilisateur réel travaillant avec un navigateur. Selenium lance et contrôle un navigateur Web.

from selenium import webdriver

browser = webdriver.Firefox()  # launch firefox browser

browser.get('http://stackoverflow.com/questions?sort=votes')  # load url

title = browser.find_element_by_css_selector('h1').text  # page title (first h1 element)

questions = browser.find_elements_by_css_selector('.question-summary')  # question list

for question in questions:  # iterate over questions
    question_title = question.find_element_by_css_selector('.summary h3 a').text
    question_excerpt = question.find_element_by_css_selector('.summary .excerpt').text
    question_vote = question.find_element_by_css_selector('.stats .vote .votes .vote-count-post').text
    
    print "%s\n%s\n%s votes\n-----------\n" % (question_title, question_excerpt, question_vote) 

Le sélénium peut faire beaucoup plus. Il peut modifier les cookies du navigateur, remplir des formulaires, simuler des clics de souris, réaliser des captures d'écran de pages Web et exécuter du code JavaScript personnalisé.