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
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 ![]()
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 ![]()
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
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
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
python 3* desolé je suis sur mobile
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
salut, avec beautifulsoup4 de python tu dois pouvoir faire, c'est très simple à faire, je te conseille de te pencher dessus.
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
quelques notions seulement, dont en javascript, ça devrait m'aider
je vais me pencher dessus, merci pour vos conseils ![]()
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 internetoula 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
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.
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 !
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 itemCe 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
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.

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
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
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 tropregarde ç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é ![]()
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)
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