Selon la performance, il est plus que évident que la raclage Web avec Bautifulsoup est beaucoup plus rapide que d'utiliser un webdiver avec sélénium. Cependant, je ne connais aucun autre moyen d'obtenir du contenu d'une page Web dynamique. Je pensais que la différence vient du temps nécessaire au navigateur pour charger des éléments mais c'est définitivement plus que cela. Une fois que le navigateur charge la page (5 secondes), tout ce que je devais faire est d'extraire des balises 4 Réponses : Web raclage avec python en utilisant soit avec sélénium a> ou beauxoup devrait faire partie du < em> stratégie de test em>. Mettez-le directement si votre intention est de gratter le contenu statique beauxoup em> est inégalé. Mais au cas où le contenu du site Web est rendu de manière dynamique sélénium em> est la voie à suivre. P>
avoir dit que, beauxoupes em> n'attendra pas le contenu dynamique qui n'est pas facilement présent dans le DOM TREE Une fois le chargement de la page terminé. Lorsque, en utilisant Sélénium vous avez l 'attente em> et et et > Attendez explicite em> à votre disposition pour localiser les éléments dynamiques souhaités. P>
Enfin, stratégies de localisation officielles pour la WebDriver p > Oui, il serait beaucoup plus rapide d'utiliser le sélénium uniquement pour obtenir le code HTML après avoir attendu que la page soit prête, puis utilisez BEAUTESUP ou LXML pour analyser le HTML. P>
Une autre option pourrait être d'utiliser marionnettiste soit uniquement pour obtenir le code HTML ou pour obtenir les informations qui Vous voulez directement. Cela devrait également être plus rapide que le sélénium. Il existe des liaisons de python non officielles pour cela: Pyppeteer P> Vous pouvez également essayer d'évaluer en JavaScript. Par exemple, ceci: sera d'au moins 10 fois plus vite que celui-ci: p> Je ne serais pas surpris si c'était plus rapide que BS beaucoup de temps aussi. P> p> regarder dans 2 options: p>
1) Parfois, ces pages dynamiques ont effectivement les données dans les balises
code> d'une table. Il a fallu environ 3-4 minutes pour extraire 1016 enregistrements extrêmement lents à mon avis. Je suis arrivé à une conclusion que les méthodes WebDriver pour trouver des éléments tels que Find_elements_by_name code> sont lents. Est
wind_elements_by code>. De webDriver beaucoup plus lentement que la méthode code> code> dans belle -soup? Et serait-il plus rapide si j'obtiens tout le HTML du navigateur WebDriver, puis d'analyser avec LXML et utilisez la belle-pression? P>
votes
Find_Elements_By_Name () CODE> Peut être delta cher en termes de performance comme selenium em> le traduit dans son équivalent
Find_Element_by_csss_selector () Code> strong>. Vous pouvez trouver encore plus de détails dans ce Discussion p>
Outroro h2>
votes
votes
votes
Oui, vous pouvez obtenir tout HTML en utilisant
pilote.page_source code>
Oui mais est-il confirmé que la belle trouvaille est plus rapide que celle du sélénium?
Oui c'est vrai. Beauxoup est beaucoup plus rapide que le sélénium
J'ai essayé d'analyser le pilote.Page_source avec BeauXoupe et c'était beaucoup plus rapide inférieur à 10 secondes par rapport aux 3-4 minutes précédentes.