CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python] Parsing et récupération

TreizeChats
TreizeChats
Niveau 4
16 juin 2017 à 18:24:17

Bonjour tout le monde, je me suis récemment mis en tête de récupérer le nombre de connectés sur le 18-25. J'ai donc bidouiller avec BeautifulSoup pour faire ce que je voulais voici ma fonction :

def recuperation_co():
	url_du_site = "http://www.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm"
	page_html = str(urlopen(url_du_site).read()) # stockage du contenu de la page dans une variable

	page = BeautifulSoup(page_html, 'html.parser') 
	resultat = page.select(".nb-connect-fofo")

	nb_co = str(resultat) #stockage de la ligne avec le nombre de co

	nb_co = nb_co[:-27] #modification de la ligne pour ne garder que le nb de co
	nb_co = nb_co[31:]

	return nb_co

Si vous avez des suggestions dites le moi, je sais que c'est pas du tout parfait :hap:
En ce qui concerne BeautifulSoup je sais pas trop comment faire du parsing autrement, et je sais pas comment faire ma propre libre de parsing :hap: :hap:

Je suis toujours en phase d'apprentissage donc si vous avez des infos concernant quoi que ce soit dites moi :hap:

Merci d'avance :noel:

MrGreez94
MrGreez94
Niveau 10
16 juin 2017 à 19:56:22

J'allais te dire d'utiliser l'API de jvc mais celle-ci a été supprimée.
Sinon la seule chose que je vois c'est d'utiliser une expression régulière pour traiter la string, c'est toujours plus élégant bien qu'assez peu compréhensible :hap:

TreizeChats
TreizeChats
Niveau 4
16 juin 2017 à 20:05:55

Le 16 juin 2017 à 19:56:22 MrGreez94 a écrit :
J'allais te dire d'utiliser l'API de jvc mais celle-ci a été supprimée.
Sinon la seule chose que je vois c'est d'utiliser une expression régulière pour traiter la string, c'est toujours plus élégant bien qu'assez peu compréhensible :hap:

D'accord merci :ok: Tu penses que c'est la seule chose à améliorer qui serait vraiment flagrante" ? :hap:

MrGreez94
MrGreez94
Niveau 10
16 juin 2017 à 20:14:28

A partir du moment où tu n'as pas d'API ce serait forcément peu élégant malheureusement. Compte tenu de ça je vois rien d'autre non :)

shmemory
shmemory
Niveau 8
16 juin 2017 à 20:46:05

Après tu peux faire ça plus rapidement avec un page_html.index("nb-connect-fofo") ce qui récupèrera l'indice de la chaine "class="nb-connect-fofo" dans ta page, à laquelle tu ajoutes len('class="nb-connect-fofo">') et à partir de page_html[page_html.index("nb-connect-fofo") + len('class="nb-connect-fofo">')] tu lis l'entier qui suit tant que le caractère est un entier (éventuellement tu mets une regex )

Sinon si tu n'es pas contre un os.system() ça réduit pas mal la taille du truc en faisant ça en bash
wget -O - http://www.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm --quiet | grep connecté | egrep -o '[0-9]*'

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment