J'essaie de lire les données d'un site Web. Je peux voir la valeur dont j'ai besoin mais la valeur n'apparaît pas dans le code html téléchargé (en utilisant urllib2). La valeur est créée par un fichier js et intégrée dans la page Web sous le nom de innerhtml pour cet identifiant. PS: Comment cela peut-il être extrait? le code source brut ne peut pas rendre js contrairement aux navigateurs!BeautifulSoup obtenir des données innerhtml
2
A
Répondre
4
Une autre façon d'obtenir des données est de laisser le navigateur faire toutes les choses en utilisant Selenium et lire le html rendu. Un peu lent mais sûrement efficace.
Vous pouvez trouver ici un guide de démarrage pour l'utilisation Sélénium avec Python: http://jimmyg.org/blog/2009/getting-started-with-selenium-and-python.html
1
Vous avez deux options: Faites en sorte que le navigateur enregistre le DOM (cela inclut toutes les modifications apportées par les scripts) ou utilisez un moteur JavaScript pour exécuter les scripts incorporés.
Pour cette dernière route, essayez un moteur basé sur Java comme Rhino et émuler le navigateur avec env.js.
Questions connexes
- 1. Comment obtenir des données pour BeautifulSoup Xml Parser
- 2. Comment obtenir innerHTML de DOMNode?
- 3. Comment utiliser BeautifulSoup pour obtenir des numéros colindex?
- 4. Comment obtenir ces valeurs avec BeautifulSoup?
- 5. Obtenir le document DOCTYPE avec BeautifulSoup
- 6. Analyse des données à l'aide de BeautifulSoup en Python
- 7. Comment obtenir un innerHTML de Script Tag
- 8. Nettoyage et suppression des étiquettes avec BeautifulSoup
- 9. Innerhtml position
- 10. DOM innerHTML n'accepte pas mes données html
- 11. InnerHTML numéro
- 12. beautifulsoup et mécaniser pour obtenir le résultat de l'appel ajax
- 13. Sélectionnez des éléments enfants spécifiques avec BeautifulSoup
- 14. beautifulsoup python ajouter des balises supplémentaires fin
- 15. Comment empêcher BeautifulSoup de supprimer des lignes
- 16. python beautifulsoup problème lié
- 17. Obtenir des données MYSQL dans AJAX
- 18. JavaScript innerHTML
- 19. Comment obtenir une chaîne d'invite javascript cohérente et innerHTML
- 20. javascript innerhtml issue
- 21. Tags correspondants dans BeautifulSoup
- 22. BeautifulSoup, mais pour CSS?
- 23. Supprimer innerHTML de div
- 24. BeautifulSoup ou regex Table HTML à la structure de données?
- 25. Recherche Javascript pour le tag et obtenir c'est innerHTML
- 26. BeautifulSoup HTML Table parsing
- 27. Affichage de données codées partiellement Unicode via AJAX/innerHTML
- 28. selfClosingTags à BeautifulSoup
- 29. Échapper & hellip; avec BeautifulSoup
- 30. BeautifulSoup et ASP.NET/C#
Comment sauvegarder automatiquement DOM du navigateur? Merci pour la méthode d'émulation, mais connaissez-vous une façon pythonique de le faire? – zubinmehta
Essayez Selenium comme suggéré par mamoo. –