|
Bas de page | |
---|---|
Auteur | Sujet : Script de crawling |
Publicité | Posté le 23-05-2015 à 20:05:03 |
Devil'sTiger | Ca c'est le genre de truc indispensable pour faciliter le code considérablement:
|
scvo0ne | J'allais proposer xpath/xquery. Mais pquery ca à l'air de démonter. |
saint malo | Merci pour vos réponses, qui du coup génèrent des questions Je me suis baladé sur le site de cURL, j'avoue que j'y comprends pas grand chose. Du coup, mes questions : Je ne comprends pas du tout ce qu'est pquery, je crois que je comprends ce que ça fait (ça découpe ce que cURL me sortira en plein de morceaux que je pourrai utiliser, c'est ca ?), mais je ne comprends pas comment ça s'installe, comment ça s'utilise... (Je n'ai jamais utilisé github du coup je suis perdu ici aussi) (Autre question, j'ai hésité à faire faire ça par un développeur qui sait ce qu'il fait, il me dit qu'il pense en avoir pour une semaine à temps plein (40h quoi) pour coder le script (ce qui est carrément hors de mes moyens à 30€ de l'heure). Je sais pas pourquoi, il m'inspire pas confiance, et je m'imaginais beaucoup moins de temps pour quelqu'un qui sait faire, du coup question, il me dit n'importe quoi pour me rouler dans la farine, ou il faut effectivement compter ce temps là pour un pro ? (et donc probablement 3x plus si je le fais seul sachant que je n'y connais pas grand chose)). Merci d'avance pour vos réponses Message édité par saint malo le 24-05-2015 à 21:23:08 |
Devil'sTiger | Tout dépend de ce que tu souhaites faire, perso je touche ca en 1j de dev environ, jusqu'a 2j si c'est assez complexe (enfin jusqu'a un certain point), pas vraiment plus.
Message édité par Devil'sTiger le 24-05-2015 à 21:42:34 |
saint malo | Merci pour ton aide Alors, comme je marche en terrain complètement inconnu, je préfère demander pour être sur :
Du coup j'ai fait la commande "composer require tburry/pquery" comme il me dit, et ça m'a sorti :
(Idem pour "composer install php-curl-class/php-curl-class", commande invalide, donc j'ai fait "composer require php-curl-class/php-curl-class" à la place, et ça m'a sorti quasiment la même chose que pour composer require tburry/pquery.) Et du coup ça m'a créé (sauf erreur) deux fichiers (composer.json, composer.lock) et un dossier (vendor) dans mon dossier CUtilisateurs/[mon_username] Si j'ai bien compris, ce code là :
...fera la chose suivante : démarrer (ou autre, je sais pas quel est le terme) cURL, récupérer le contenu de www.lapagesurlaquellejeveuxnaviguer.com, parser ce contenu, récupérer tous les éléments <h2> du DOM dont la classe est ".title", remplacer ce qui est entre les balises par "FOO" et remplacer la balise elle même par des balises <h1>, c'est bien ça ? Plusieurs questions : Merci Message édité par saint malo le 25-05-2015 à 07:38:24 |
saint malo | Une fois encore, merci pour les réponses Du coup, j'ai voulu tester ça sur mon serveur, ça me retourne plein d'erreurs : La ligne 12 en question étant : La ligne 21 : Et la ligne 3 de Curl.php étant : J'ai des idées de ce qui ne va pas, mais je ne sais pas comment les résoudre Message édité par saint malo le 26-05-2015 à 07:07:06 |
Devil'sTiger | Ta version de PHP est probablement bien vielle pour ne pas supporter les namespace et use...
|
Publicité | Posté le 26-05-2015 à 13:45:16 |
rufo Pas me confondre avec Lycos! | Question bête : parser les flux RSS des sites en question, ça répondrait pas à son besoin ? Message cité 1 fois Message édité par rufo le 26-05-2015 à 15:37:43 --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
saint malo |
Message édité par saint malo le 27-05-2015 à 01:49:19 |
Devil'sTiger | Essai de réinstaller pQuery, visiblement ya un soucis avec l'autoloader...
|
saint malo | Sans rien réinstaller pour l'instant, j'ai ajouté la ligne dans mon script comme suggéré, et je pense que ça a fonctionné, parce que maintenant, je n'ai plus d'erreur. Par contre, maintenant, ça m'affiche ça :
(Edit : bon ça fout en l'air la mise en page de HFR, donc je rajoute des retours à la ligne, mais normalement il n'y en a pas, c'est une seule ligne avec 101 fois le mot Array) True story Du coup je pense que maintenant c'est dans la boucle qu'il y a un truc qui ne va pas. Message édité par saint malo le 27-05-2015 à 18:01:19 |
scvo0ne | Array c'est ce qu'on obtient quand on essaye d'afficher un tableau avec echo. Remplace ton echo par print_r pour voir à quoi ressemble ton tableau. |
saint malo | Boooon, ça marche enfin, avec print_r comme avec echo, merci !
|
Devil'sTiger | Au pif, mais essaye ca:
|
saint malo | Yes, ça fonctionne très bien, merci beaucoup pour ton aide tout au long de mes questions de noobs ! Une question supplémentaire : Si je veux crawler plusieurs urls différentes, est-ce qu'il vaut mieux faire ça :
Ou ça ? :
Autrement dit, ouvrir et fermer une seule fois (en début et en fin), ou plusieurs fois (à chaque fois pour chaque nouvelle URL) ? J'ai testé que la première option et ça fonctionne, je pense que la deuxième aussi mais j'ai la flemme de la tester (je vois pas pourquoi ça marcherait pas en tout cas). Ma question, c'est plutôt est-ce qu'il y a des désavantages (en terme de performance ou d'autres choses) à implémenter la première option, et donc laisser cURL "tourner" pendant tout le script ? Ou est-ce que au contraire c'est mieux de la première façon plutôt que de la deuxième, parce que ce serait plus gênant d'ouvrir et fermer plusieurs fois de suite cURL (si je veux crawler beaucoup d'urls par exemple) ? Edit : bien évidemment, je réalise qu'avec mon option 1, je pourrais plutôt faire une boucle pour crawler et parser toutes mes URL, puis fermer cURL tout de suite, et ensuite faire mes manips sur les DOMs que j'ai obtenus. Mais en fait, je compte aussi crawler les URL crawlées, du coup ça justifie ma question : est-ce qu'il vaut mieux laisser une seule "session" cURL ouverte longtemps, ou en ouvrir puis fermer plein à la suite. Message édité par saint malo le 29-05-2015 à 07:10:17 |
Devil'sTiger | Fait une fonction, et rajoute le close à la fin avant de renvoyer les données faites par cUrl/le parser |
rufo Pas me confondre avec Lycos! | L'idéal serait de stocker les url à traiter dans un tableau (qui peut être chargé par la lecture d'un fichier contenant les url ou par une autre source) puis tu fais un boucle foreach sur ce tableau --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
saint malo |
|
rufo Pas me confondre avec Lycos! | Pour lire un fichier txt et mettre son contenu dans un array, je te dirais bien RTFM ( http://www.phph.et )
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
saint malo | Haha bon ok je l'ai mérité Message édité par saint malo le 01-06-2015 à 03:16:41 |
rufo Pas me confondre avec Lycos! | Un fichier, tu sais ce que s'est, quand même, non file ben, ça veut dire fichier en anglais Et une lecture de la doc t'indiquera ce que fait cette fonction et d'en indiquera d'autres, ayant ne utilisation proche (genre fopen, fwrite, fread, fclose...).
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
bbalet | Salut à tous,
|
rufo Pas me confondre avec Lycos! | Et ça marche aussi pour le https ? Parce que j'essaye depuis un moment de fiare un script php pour automatiser des actions sur un site web avec une auth en https et impossible de passer l'étape d'authentification
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
Blackyell $question = $to_be || !$to_be; | Perso j'ai déjà eu l'occasion de jouer avec Goutte pour crawler un site et c'est plutôt pas mal. |
victordm | Bonjour, |
rufo Pas me confondre avec Lycos! | Merci de ne pas squatter ce topic et d'en créer un dédié à votre pb. Pour ce genre de question, le contact en MP n'est pas nécessaire car va limiter le nb de réponses.
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
Publicité | Posté le |
Sujets relatifs | |
---|---|
Domoticz - Mise à jour d'un script (.cpp, .h) - Question de noob | Multipe requête sql dans un script vbs |
aide script shell pour projet scolaire | Quelques petits problèmes, et besoin de script. |
Execution d'une partie du script | Problème script enregistrement / tranfert |
Exécution d'un script via un autre script | Problème copier/coller script Greasemonkey |
Lancer script avec redondance [Resolu] | Variable dans script htm |
Plus de sujets relatifs à : Script de crawling |