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

[Data/Html] Logiciel qui va extraire les informations dans du code

OrnetteColeman
OrnetteColeman
Niveau 23
29 octobre 2018 à 16:03:12

Bonjour à tous, j'ai des connaissances basiques et un peu lointaines en programmation et je me retrouve confronter à un petit problème pour une mise en application qui devrait pourtant vous paraître plutôt simple

vous allez très vite comprendre avec ce screen explicatif
https://image.noelshack.com/fichiers/2018/44/1/1540824605-sofascore.png

pour chaque ligne de code du graphique à gauche, je souhaiterais récupérer les informations donnés après "FILL" en rouge (binaire) et "HEIGHT" en vert (valeurs variables)
le tout pour avoir un tableau calc/excel avec deux colonnes qui comporteraient toutes les informations
et bien sûr je ne peux pas le faire manuellement parce que je veux m'en servir pour générer une très grande quantité de data

j'ai vu qu'il y avait des logiciels de web-scraping qui faisaient ça très bien, j'en ai essayé 2-3 mais malheureusement je peux récupérer tout type de données sur ma page SAUF celles de mon graphiques qui semblent être un peu "particulière"

donc quelle méthode utiliser pour faire ça très vite et simplement ?

merci de m'avoir lu :hap:

OrnetteColeman
OrnetteColeman
Niveau 23
29 octobre 2018 à 16:04:44

et je précise que c'est pas un travail scolaire
j'essaie simplement de récolter de la data pour de l'analyse en paris sportifs :hap:

blackapplex
blackapplex
Niveau 10
29 octobre 2018 à 16:14:29

C'est pour ce genre de tâches que généralement on utilise des regex
Savoir faire du scrapping par regex en datamining avec une expérience analyse de texte c'est le futur. Toute la connaissance de l'humanité est sur internet

Message édité le 29 octobre 2018 à 16:15:01 par blackapplex
OrnetteColeman
OrnetteColeman
Niveau 23
29 octobre 2018 à 16:18:38

Le 29 octobre 2018 à 16:14:29 blackapplex a écrit :
C'est pour ce genre de tâches que généralement on utilise des regex
Savoir faire du scrapping par regex en datamining avec une expérience analyse de texte c'est le futur. Toute la connaissance de l'humanité est sur internet

oula c'est très flou pour moi tout ça, Regex ?
mais la manière dont tu en parles ("le futur") semblent indiquer que ce que je demande n'est pas encore possible ? ou en tout cas pas accessible facilement

ShowBekS_75
ShowBekS_75
Niveau 7
29 octobre 2018 à 16:19:34

Regarde scrappy ! C'est en python mais tu peux récipérer ce genre de value.
Seul soucis je crois que scrappy fonctionne qu'avec python si ça n'a pas changé depuis 1 an (j'utilisais scrappy pour une boite qui voulait dilapider les sites d'arts et de musé) et c'était puissant.

Tu peux récupérer les parametres customs genre angular et cie.

Good luck

ShowBekS_75
ShowBekS_75
Niveau 7
29 octobre 2018 à 16:20:39

python 3* desolé je suis sur mobile

OrnetteColeman
OrnetteColeman
Niveau 23
29 octobre 2018 à 16:22:32

Le 29 octobre 2018 à 16:19:34 showbeks_75 a écrit :
Regarde scrappy ! C'est en python mais tu peux récipérer ce genre de value.
Seul soucis je crois que scrappy fonctionne qu'avec python si ça n'a pas changé depuis 1 an (j'utilisais scrappy pour une boite qui voulait dilapider les sites d'arts et de musé) et c'était puissant.

Tu peux récupérer les parametres customs genre angular et cie.

Good luck

Le 29 octobre 2018 à 16:20:39 showbeks_75 a écrit :
python 3* desolé je suis sur mobile

merci à toi, ça me semble compliquer si il faut maîtriser du python, mais je vais au moins essayer

Exacompta
Exacompta
Niveau 10
29 octobre 2018 à 16:23:55

salut, avec beautifulsoup4 de python tu dois pouvoir faire, c'est très simple à faire, je te conseille de te pencher dessus.

ShowBekS_75
ShowBekS_75
Niveau 7
29 octobre 2018 à 16:24:40

Bah écoute quand je suis arrivé je n'avais fait de python donc bon !
Après si tu n'as aucune connaissance en programmation oui c'est mal parti lol

OrnetteColeman
OrnetteColeman
Niveau 23
29 octobre 2018 à 16:30:50

quelques notions seulement, dont en javascript, ça devrait m'aider
je vais me pencher dessus, merci pour vos conseils :ok:

blackapplex
blackapplex
Niveau 10
29 octobre 2018 à 16:31:13

Le 29 octobre 2018 à 16:18:38 OrnetteColeman a écrit :

Le 29 octobre 2018 à 16:14:29 blackapplex a écrit :
C'est pour ce genre de tâches que généralement on utilise des regex
Savoir faire du scrapping par regex en datamining avec une expérience analyse de texte c'est le futur. Toute la connaissance de l'humanité est sur internet

oula c'est très flou pour moi tout ça, Regex ?
mais la manière dont tu en parles ("le futur") semblent indiquer que ce que je demande n'est pas encore possible ? ou en tout cas pas accessible facilement

Ce que tu veux est actuellement possible (j'ai pas tout compris très clairement). Je disais juste qu'il fallait absolument apprendre à le faire parce que ça devient de plus en plus utile justement.
Du coup il faut que tu vois comment faire des regex, apparemment tu es pas forcément du milieu de la programmation donc ça peut être un peu difficile pour toi, il faudrait trouver quelqu'un qui te le fasse

Message édité le 29 octobre 2018 à 16:31:24 par blackapplex
ShowBekS_75
ShowBekS_75
Niveau 7
29 octobre 2018 à 16:43:10

Après pour t'aider à te lancer je peux te donner un exemple:

quand tu génères un projet scrapy tu définies les items:


import scrapy


class LesItemsDeTonSites(scrapy.Item):
	fill 	= scrapy.Field()
	height 	= scrapy.Field()

Puis tu extraits dans le spider:


from scrapy.spiders import CrawlSpider, Rule
from scrapy.selector import Selector
from scrapy.linkextractors import LinkExtractor
from scrapy.exceptions import CloseSpider

from crawler.items import LesItemsDeTonSites

import scrapy

name 		= 'leNomQueTuVeux'
start_urls 	= 'LIEN'

def parse(self, response):
   hxs 			= Selector(response)
   item 			= LesItemsDeTonSites()

   item['fill'] 	= hxs.xpath('//div[@class="LA CLASSE DE LA DIV QUE TU CHERCHES"]/img/@fill').extract()
   item['height] = hxs.xpath('//div[@class="LA MEME CLASSE SI LE HEIGHT EST DANS LE MEME TAG"]/img/@height').extract()

   return item

Ce code n'est pas fonctionnel (enfin pour ton truc), à toi de voir pour les trucs à extraire :)

Après tu lances le scrapper avec scrappy name (de mémoire) donc ici "scrappy LeNomQueTuVeux"
Scrappy est puissant car tu peux vraiment scrapper des sous lien genre récupérer une page avec des liens et scrapper ses liens directement mais faut que tu te documentes.

Message édité le 29 octobre 2018 à 16:47:00 par ShowBekS_75
ShowBekS_75
ShowBekS_75
Niveau 7
29 octobre 2018 à 16:52:48

PS: d'ailleurs tu veux directement avoir le xpath directement dans le inspect élément pour te faciliter la tâche.

Tu fais inspect element puis tu vas sur l'élément qui t'intéresse, clique droit et copy. Normalement tu as "copy xpath" :p

Genre le xpath de mon message: //*[@id="forum-main-col"]/div[3]/div[13]/div/div[2]/div[2]/div[1]

c'est vraiment un chemin brut mais bon !

Message édité le 29 octobre 2018 à 16:53:02 par ShowBekS_75
blackapplex
blackapplex
Niveau 10
29 octobre 2018 à 17:01:49

Le 29 octobre 2018 à 16:43:10 showbeks_75 a écrit :
Après pour t'aider à te lancer je peux te donner un exemple:

quand tu génères un projet scrapy tu définies les items:


import scrapy


class LesItemsDeTonSites(scrapy.Item):
	fill 	= scrapy.Field()
	height 	= scrapy.Field()

Puis tu extraits dans le spider:


from scrapy.spiders import CrawlSpider, Rule
from scrapy.selector import Selector
from scrapy.linkextractors import LinkExtractor
from scrapy.exceptions import CloseSpider

from crawler.items import LesItemsDeTonSites

import scrapy

name 		= 'leNomQueTuVeux'
start_urls 	= 'LIEN'

def parse(self, response):
   hxs 			= Selector(response)
   item 			= LesItemsDeTonSites()

   item['fill'] 	= hxs.xpath('//div[@class="LA CLASSE DE LA DIV QUE TU CHERCHES"]/img/@fill').extract()
   item['height] = hxs.xpath('//div[@class="LA MEME CLASSE SI LE HEIGHT EST DANS LE MEME TAG"]/img/@height').extract()

   return item

Ce code n'est pas fonctionnel (enfin pour ton truc), à toi de voir pour les trucs à extraire :)

Après tu lances le scrapper avec scrappy name (de mémoire) donc ici "scrappy LeNomQueTuVeux"
Scrappy est puissant car tu peux vraiment scrapper des sous lien genre récupérer une page avec des liens et scrapper ses liens directement mais faut que tu te documentes.

en perl ça se fait en 6 lignes sinon

ShowBekS_75
ShowBekS_75
Niveau 7
29 octobre 2018 à 17:28:59

Salut,
Je connais pas le perl donc cool si ça fait 1 ou 6 lignes pour un résultat équilavent.
J'ai déjà utilisé scrappy avec du python, c'est pas un concour du code le plus cool mais le plus accessible pour un débutant.

Donne lui des exemples si tu veux l'aider.

En JS, avec node notamment je te déconseil par exemple.

OrnetteColeman
OrnetteColeman
Niveau 23
29 octobre 2018 à 17:31:53

https://image.noelshack.com/fichiers/2018/44/1/1540830654-soupe.png
je vais pas aller loin

pour info je suis parti sur beautifulsoup parce que je suis tombé sur ça http://www.xavierdupre.fr/app/ensae_teaching_cs/helpsphinx2/notebooks/TD2A_Eco_Web_Scraping_enonce.html et que ça correspond plus ou moins au même type de mise en application que la mienne

ShowBekS_75
ShowBekS_75
Niveau 7
29 octobre 2018 à 17:41:40

Je connais bs mais j'avais préféré scrappy vu que créer directement le squelette du projet (comme un create-react-app ou un ng new).
Pour ça que je t'ai parlé d'item (car le ficher existe déjà).

Sinon là ton problème c'est que tu tapes des commandes dans l'interpreteur python !
Comme son nom l'indique c'est un interpreteur pas un terminal :)
Si tu es sur w10 tu peux activer le terminal "linux" pour développeur.
Moi je sui sur linux désolé, windows je connais pas trop

regarde ça:

https://www.numerama.com/tech/158150-le-shell-bash-sous-windows-10-ce-quil-faut-savoir.html

pour accèder aux fichier windows apparemment il faudra rentrer dans /mnt

Surement cd /mnt/c(surement le disque)/etc

Message édité le 29 octobre 2018 à 17:45:11 par ShowBekS_75
OrnetteColeman
OrnetteColeman
Niveau 23
29 octobre 2018 à 17:47:34

Le 29 octobre 2018 à 17:41:40 showbeks_75 a écrit :
Je connais bs mais j'avais préféré scrappy vu que créer directement le squelette du projet (comme un create-react-app ou un ng new).
Pour ça que je t'ai parlé d'item (car le ficher existe déjà).

Sinon là ton problème c'est que tu tapes des commandes dans l'interpreteur python !
Comme son nom l'indique c'est un interpreteur pas un terminal :)
Si tu es sur w10 tu peux activer le terminal "linux" pour développeur.
Moi je sui sur linux désolé, windows je connais pas trop

regarde ça:

https://www.numerama.com/tech/158150-le-shell-bash-sous-windows-10-ce-quil-faut-savoir.html

pour accèder aux fichier windows apparemment il faudra rentrer dans /mnt

Surement cd /mnt/c(surement le disque)/etc

merci
à chaque étape je m'éloigne de mon but premier faut pas être découragé :hap:

ShowBekS_75
ShowBekS_75
Niveau 7
29 octobre 2018 à 17:51:49

Windows c'est pas le top pour développer même s'ils font des efforts apparemment.
Avec le terminal ça te facilitera la vie (c'est une petite étape enfin j'espère).

Une fois tu auras installer tes dépendances tu pourras déjà commencer à tater.
Te décourage pas, apprend juste à cherche sur google dès que tu as une erreur, la communauté est énorme et t'es pas le seul à avoir des soucis :)

Mais vu ton projet tu t'en sortiras c'est pas très ambitieux (et c'est pas un reproche, hein)

OrnetteColeman
OrnetteColeman
Niveau 23
29 octobre 2018 à 18:01:03

les rares fois où j'ai touché à de la programmation c'était sous linux en plus donc ça aide pas pour les repères
pour cette étape en tout cas ça devrait aller, Ubuntu est en train de dl
pour la suite le lien que j'ai posté plus haut devrait pas mal m'aider

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