Je débute dans le webscraping et j'essaye d'accéder au contenu d'un tableur framacalc, celui-ci pour l'exemple : https://lite.framacalc.org/IihrcbhCLY
Il n'y a aucun problème pour récupérer le code HTML mais ensuite, je n'arrive pas à accéder au contenu des cellules, que j'ai pourtant localisé dans le code HTML. J'arrive tout d'abord à accéder à la division "tableeditor", puis à son-unique sous-division qui semble alors vide alors qu'elle ne devrait pas l'être.
tableeditor = html.findAll(id ='tableeditor')[0]
div = tableeditor.findAll(True)[0]
print(div.findAll(True))
La console affiche une liste vide...
Quelqu'un aurait-il un éclairage à m'apporter ? Merci d'avance.
Bonjour, merci de la réponse, je comprends mieux le problème maintenant.
Y-a-t'il des moyens de scrapper côté client avec python et d'ainsi obtenir le html chargé par javascript ?
En faisant des recherches je suis tombé sur artoo qui peut apparemment se coupler avec node.js pour faire des choses qui correspondent à mon besoin. Cependant, même si j'ai réussi à prendre en main artoo, j'ai du mal à l'utiliser avec node.js et c'est pour ça que je préférerais rester sur du Python si possible.
J'ai fais du webscraping en python, les méthodes que j'utilise dépendent beaucoup du site visé.
Si le contenu de la page est chargé en JS, c'est qu'il y a une requête AJAX que tu devrais pouvoir reproduire. Utilile l'outil de développement sur firefox et regarde les requêtes qui sont faites lorsque tu charge la page. Souvent les données sont téléchargées en JSON donc dans ce cas le scrap est plutôt facile. J'ai quelques codes très aboutis où je ne télécharge aucun fichier HTML mais uniquement des JSON.
Mais parfois ce n'est pas si simple. Il reste toujours selenium, avec ça tu peux prendre le contrôle d'un navigateur et traiter le HTML après chargement complet de la page. C'est plus compliqué à coder, le scrap est plus long, ça plante même plus souvent mais ça évite à eu près tous les obstacles (sauf captcha).
- Edité par thelinekioubeur 7 novembre 2018 à 11:44:18
Je crois que je vais m'orienter vers selenium, cela semble en effet bien adapté à l'ensemble de mes besoins.
[webscraping] Descente dans l'arborescence
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique