J'aimerais utiliser Python pour gratter le contenu de la "Cherche de ces auteurs:" Boîte sur les pages Web comme celle-ci: http://academic.research.microsoft.com/search?query=lander p>
Malheureusement, le contenu de la boîte est chargé de manière dynamique par JavaScript. Habituellement, dans cette situation, je peux lire le JavaScript pour déterminer ce qui se passe, ou je peux utiliser une extension de navigateur comme Firebug pour comprendre où vient le contenu dynamique. Pas de bonne chance cette fois ... Le JavaScript est assez compliqué et Firebug ne donne pas beaucoup d'indices sur la façon de se mettre au contenu. P>
Y a-t-il des astuces qui faciliteront cette tâche? p>
3 Réponses :
Une question très similaire a été posée précédemment ici < / a>.
Cité est le sélénium, à l'origine un environnement de test pour les applications Web. P>
J'utilise habituellement le mode développeur de Chrome, lequel IMHO donne déjà encore plus de détails que Firefox. P>
"Vient de demander" ? Votre lien mène à un fil de 2011. - Quoi qu'il en soit, bienvenue. Intéressé par le sujet et par votre réponse, i +1
Vous avez totalement raison, je n'ai même pas cherché la date ... honte i> Merci pour le bienvenu chaud, cependant!
Au lieu d'essayer d'inverser l'ingénieur, vous pouvez utiliser ghost.py pour interagir directement avec JavaScript sur la page.
Si vous exécutez la requête suivante dans une console chrome, vous verrez qu'il retourne tout ce que vous voulez. p> retourne p> Vous pouvez exécuter JavaScript via Python dans une vie réelle en utilisant ghost.py . p> C'est vraiment cool: p> from ghost import Ghost
ghost = Ghost()
page, resources = ghost.open('http://academic.research.microsoft.com/Search?query=lander')
result, resources = ghost.evaluate(
"document.getElementsByClassName('inline-text-org');")
Notez que ghost.py est abandonné. La dernière mise à jour était il y a 2 ans à compter de cette écriture.
Pour racler du contenu dynamique, vous n'avez pas besoin d'un simple grattoir, mais d'un Navigateur sans tête A >. P>
DHAMANIASAD / INDIDELESSADROISERS: une liste de (presque) tous les navigateurs Web sans tête en existence est le maximum liste de ceux que j'ai vu; Il répertorie les langues chacune des liaisons pour. P>
(Notez que plus de quelques-uns des projets énumérés sont abandonnés!) p>