Scraper certaines données d'un site ?
Yoloswagger
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je travail actuellement sur un bot Discord en python (RED-DiscordBot) et je veut faire une commande pour pouvoir afficher certaines données a partir d'un site web.
voici le code que j'ai actuellement pour récupérer l'url donné :
Alors dans le code que j'ai actuellement comme commande j'ai /rscp avec la quel je rajoute un numero pour pouvoir avoir le lien de la page cible mais le problème ce pose ici....
Le site de la fondationscp n'a aucun id et les page n'ont pas tous le même arrangement...
Certaines page ont une image alors que d'autre n'en n'ont pas...
Ce que j'aurait aimé Scraper dans cette page (pour l'exemple je prend http://fondationscp.wikidot.com/scp-005 ) j'aurait aimé récupérer les ligne suivante : 'Classe : Sur' et 'Objet # : SCP-005' ainsi que le début de la description sauf que viens mon problème c'est que j'aimerai que ce soit possible pour toutes les page du site (4000) sans pour autant écrire 4000 fois le code... (seulement 4000 normal je ne compte pas les autre mode...)
Merci d'avance pour votre aide.
Cordialement
Yoloswagger
Je travail actuellement sur un bot Discord en python (RED-DiscordBot) et je veut faire une commande pour pouvoir afficher certaines données a partir d'un site web.
voici le code que j'ai actuellement pour récupérer l'url donné :
@commands.command() async def rscp(self, num : int): """Regarder des articles SCP!""" if (num > 0 and num <= 3999): actor_url = "http://www.fondationscp.wikidot.com/scp-{:03}".format(num) await self.bot.say(actor_url)
Alors dans le code que j'ai actuellement comme commande j'ai /rscp avec la quel je rajoute un numero pour pouvoir avoir le lien de la page cible mais le problème ce pose ici....
Le site de la fondationscp n'a aucun id et les page n'ont pas tous le même arrangement...
Certaines page ont une image alors que d'autre n'en n'ont pas...
Ce que j'aurait aimé Scraper dans cette page (pour l'exemple je prend http://fondationscp.wikidot.com/scp-005 ) j'aurait aimé récupérer les ligne suivante : 'Classe : Sur' et 'Objet # : SCP-005' ainsi que le début de la description sauf que viens mon problème c'est que j'aimerai que ce soit possible pour toutes les page du site (4000) sans pour autant écrire 4000 fois le code... (seulement 4000 normal je ne compte pas les autre mode...)
Merci d'avance pour votre aide.
Cordialement
Yoloswagger
A voir également:
- Scraper certaines données d'un site ?
- Site comme coco - Accueil - Réseaux sociaux
- Site de telechargement - Accueil - Outils
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site x - Guide
- Site pour vendre des objets d'occasion - Guide
1 réponse
Dans un premier temps, il faut vérifier que le site ne dispose d'un flux RSS ou d'une API pour récupérer des données. Ici, ce n'est pas le cas (c'est la manière la plus propre de le faire).
Les informations que tu recherches se trouvent dans le code source de la page (pas AJAX). Tu peux donc utiliser tout simplement la bibliothèque urllib.request pour demander à une URL de te renvoyer son code source. Ensuite, à toi d'utiliser la bibliothèque "re" pour appliquer des recherches par expression régulière sur ce texte et enfin récupérer les informations dont tu as besoin (tu peux utiliser autre chose que "re").
Tu ne vas pas directement récupérer toutes les infos que tu veux.
Etape 1 : récupérer l'ensemble des liens du site : http://fondationscp.wikidot.com/liste-francaise (si possible ceux qui correspondent à la liste).
Etape 2 : pour chaque URL, chercher la valeur dans le code source de Classe et Objet.
Etape 3 : stocker ces informations dans une structure pour ensuite les utiliser ailleurs.
Les informations que tu recherches se trouvent dans le code source de la page (pas AJAX). Tu peux donc utiliser tout simplement la bibliothèque urllib.request pour demander à une URL de te renvoyer son code source. Ensuite, à toi d'utiliser la bibliothèque "re" pour appliquer des recherches par expression régulière sur ce texte et enfin récupérer les informations dont tu as besoin (tu peux utiliser autre chose que "re").
Tu ne vas pas directement récupérer toutes les infos que tu veux.
Etape 1 : récupérer l'ensemble des liens du site : http://fondationscp.wikidot.com/liste-francaise (si possible ceux qui correspondent à la liste).
Etape 2 : pour chaque URL, chercher la valeur dans le code source de Classe et Objet.
Etape 3 : stocker ces informations dans une structure pour ensuite les utiliser ailleurs.
j'aimerais pouvoir récupérer les information sur les différente page que compose ces page la :
ce qui fait au total 4530 pages différentes...
par manque de temps je ne peut pas vraiment récupérer pour chaque URL la valeur dans le code source.
Toutes les page ont la même structure (a quelque exception pour le RP du site...)
http://fondationscp.wikidot.com/scp-001
a (entre les deux il y a 3999 url)
http://fondationscp.wikidot.com/taboo
puis passer a une autre page ?