Automatiser quelques taches récurrentes (parser + utilisation des données)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Automatiser quelques taches récurrentes (parser + utilisation des données)

Re: Automatiser quelques taches récurrentes (parser + utilisation des données)

par toki127 » 16 janv. 2016, 18:07

bonjour à tous,

Merci pour les premiers retours.
Je me suis donc renseigné sur simple_html_DOM. Il y a effectivement quelques fonctions qui m'intéressent.

Je récupère bien tous les liens qui m'intéressent. J'arrive à les afficher. Par contre, ce sont des liens relatifs et donc quand je cherche à les concaténer à l'adresse de la page et à afficher le résultat, il affiche la page de base, avec en haut en clair, le lien que j'ai récupéré (et non la nouvelle page)… :(((

Pour simplifier la suite des opérations, j'aimerai récupéré deux éléments sur cette page :
Dans les <div> de class fixe de la page (ex : xyz) je souhaite récupérer :
- le lien href dont le texte en clair est "jkl" (car dans cette div fixe, il y a plusieurs liens, mais un seul m'intéresse)
- dans un <li> de class fixe, dans le texte "xxxxxxxxxx 15h30", je souhaiterai juste récupéré l'heure. La chaine xxxxxxxxx ne contient jamais de h, ce qui peut peut-être aidé à récupéré juste l'heure?
Je souhaiterai que ces deux éléments (lien / heure) soit associé dans un tableau…

Auriez vous quelques pistes?

Merci d'avance

Re: Automatiser quelques taches récurrentes (parser + utilisation des données)

par Spols » 13 janv. 2016, 23:46

J'utiliserai le DOM de php, puissant et pratique mais un peu plus complexe à mettre en place.

Sinon il faut que tu trouve la partie fixe la plus proche de ton href par exemple class="xxx" ou id="xyz (si ces 3 lettres sont fixe) et ensuite chercher le href aec strpos et en offset la position de class="xxx" puis le " le plus proche de ton href, etc.
Je n'utilisera pas preg_match car trop de variable non contrôlé.

Re: Automatiser quelques taches récurrentes (parser + utilisation des données)

par toki127 » 13 janv. 2016, 19:37

xyz123 n'est pas fixe. En fait, xyz chaine de caractère fixe, mais 123, un nombre qui évolue.

le </a> se trouve très loin… notamment plusieurs images

Re: Automatiser quelques taches récurrentes (parser + utilisation des données)

par or 1 » 13 janv. 2016, 19:31

xyz123 est fixe ?
ou se trouve le </a> ?

Re: Automatiser quelques taches récurrentes (parser + utilisation des données)

par toki127 » 13 janv. 2016, 19:27

exemple de portion de la page A :

Code : Tout sélectionner

<a class="xxx" id="xyz123" href="[b][u]le_lien_à_récupérer[/u][/b]" style="xyz123">123 <div class="yyy"> <span> 12h00 (chaine qui pourrait m'intéresser) </span> <span class="zzz">
Penses tu sue preg_match_all suit l'outil adapté?

En tout cas merci de ton aide, et pour ta rapidité!

Re: Automatiser quelques taches récurrentes (parser + utilisation des données)

par or 1 » 13 janv. 2016, 19:19

donne des exemples des chaines que tu récupères, et pour lesquelles tu n'arrives pas à récupérer certaines portions.

Automatiser quelques taches récurrentes (parser + utilisation des données)

par toki127 » 13 janv. 2016, 19:16

Bonjour à tous,

Je souhaiterai automatiser quelques taches que je réalise tous les jours et qui me ferait gagner un temps fou.

Etant novice en php, je préfère vous demander bien humblement de l'aide, pour essayer de faire bien et propre (pas un truc bancale… ou pas trop!)

Je vais essayer d'être concis et clair :
OBJECTIFS :
- sur une page A, récupérer des informations dans la page : des liens vers des pages B[x], C[x] et rarement D[x]
- sur chacune de ces pages BCD[x], rechercher des valeurs numériques dans un tableau, et pour certaines valeurs, suivre un (encore) un lien B[x][y]
- sur ces pages BCD[xy], récupérer une seule valeur, et la comparer à celle recueillie à l'étape précédente
- en fonction de la comparaison, mettre dans une chaine résultat final deux chaines de texte que l'on doit récupérer au niveau Bx

Il y aurait quelques améliorations à ajouter, mais cela me semble bien pour un début. :-)

ACTUELLEMENT :
- je charge le code source de la page A aver file_get_contents
- je cherche les valeurs qui m'intéressent avec preg_match_all, mais j'arrive à récupérer quelques chaines, mais je n'arrive pas à avoir les liens (des href="abcde").

Merci d'avance pour les conseils que vous pourrez me donner, et le temps que vous pourrez me consacrer.

Bonne soirée!