J'essaie de gratter http://washingtonmonthly.com/college_guide?ranking=2016-rankings-national-universities site web.comment gratter une page web qui n'est pas écrite directement en HTML, mais qui est générée automatiquement en utilisant JavaScript?
Ce site web est généré automatiquement en utilisant JavaScript pour mettre à jour l'arbre DOM.J'ai essayé ci-dessous le code Selenium pour obtenir les éléments à l'intérieur de la table, mais il renvoie une liste vide.
from selenium import webdriver
import time
driver = webdriver.Chrome(executable_path="C:\\chrme\\chromedriver")
driver.get('http://washingtonmonthly.com/college_guide?ranking=best-colleges-for-adult-learners-4-year-colleges')
time.sleep(5)
test = driver.execute_script("return document.getElementsByClassName('tablesaw tablesaw-swipe')")
print(test)
Existe-t-il un moyen d'exécuter ces scripts et d'obtenir le code HTML? J'utilise Python 3.6
Je veux cette table au format CSV. Cette table a la classe 'tablesaw-swaw'. Mais ce HTML sera peuplé une fois que Javascript sera exécuté. –
Voir: [Comment faire X?] (Https://meta.stackoverflow.com/questions/253069/whats-the-appropriate-new-current-close-reason-for-how-do-i-do- x) L'attente en SO est que l'utilisateur posant une question fait non seulement de la recherche pour répondre à sa propre question mais partage aussi cette recherche, tentatives de code, et résultats. Cela démontre que vous avez pris le temps d'essayer de vous aider, cela nous évite de répéter des réponses évidentes, et surtout, cela vous aide à obtenir une réponse plus spécifique et pertinente! Voir aussi: [ask] – JeffC
Vous devez lire quelques tutoriels de base, apprendre à localiser correctement et attendre. Une fois que vous faites cela et essayez d'autres approches, revenez et éditez la question et ajoutez ces tentatives et les résultats. – JeffC