Action sur site web avec PHP

Bonjour,

Je souhaiterai savoir comment fait on pour interagir avec un site web. en fait je voudrai créer un script permettant de pouvoir se connecter à google par exemple puis d'exécuter des recherches dont les résultats vont être inscrits dans un fichier csv.

Pouvez-vous m'aider svp ?

13 réponses

  1. pour ton exemple, tu utilisera l'url comme vecteur d'information :

    comme ça :

    http://www.google.fr/search?q=ma+recherche

    tu remplace le "ma+recherche" par ta recherche (en remplaçant les espace par des +)

    pour la parsage, tu peux par exemple utiliser simple XML

    pour enregistrer en csv, je n'en ai par contre absolument aucune idée :/
    1. Contributeur
      Bonjour,
      Tu "interagit" en php ou en javascript ?
      A+
      1. Bonjour,

        Google donne accès à un API de recherche:
        http://code.google.com/intl/fr/apis/customsearch/

        En 10 lignes de code copié-collé... hop...

        A+
        1. Bonsoir chers amis,

          Merci pour votre aide. la formule de templier nocturne marche mais juste pour google sachant que c'est juste un exemple. si par malheur je tombe sur un site comme la plupart du temps ou le lien n'est pas de la forme
          http://www.google.fr/search?q=ma+recherche alors là je coince.

          N'y aurait il pas une solution standard (en faite une solution passe partt) pour ce type de cas ?
          1. Si ta problématique est de créer un moteur de recherche tel que google ou yahoo, ça va être tendu, je préfère être franc ^^

            Sinon ça dépend de ce dans quoi tu veux chercher !

            Dis nous en plus !
            1. Bonjour,

              en fait je souhaite interagir avec les pages jaunes. J'ai une base de données de 3.000 clients à mettre à jour.

              Le problème est que je voudrais pas le faire manuellement donc je veux créer un script php qui pourrait interagir avec pages jaunes pour rechercher les nlles adresses en cas de changement non signalé par le client.

              Je sais que c'est faisable mais je sais pas comment faire
              1. jaunes ou blanches ?
              2. Ca va être plus compliqué que sur google car sur google, les infos qui nous intéressent passent par l'url, mais là ce n'est pas le cas
            2. j'ai des erreurs. voici le script. le problème vient de la ligne 6 et rien ne s'affiche.

              <html>
              <script type="text/javascript">
              // ce scripte a pour but de vous montrer comment aspirer les résultats des pages jaunes françaises

              AUTORUN;
              var s: String;
              var tab: Tstringlist;tab:=Tstringlist.create;
              var i,j: integer;
              var ajoutes:integer;
              var liens: Tstringlist;liens:=Tstringlist.create;

              var Adresse : string;
              var description : string;
              var email : string;
              var fax : string;
              var html : string;
              var tel : string;
              var Raison_sociale : string;
              var SiteWeb : string;
              var visiter:boolean;

              MaxBrowsers(2);
              showmessage('Ce script a pour but de vous montrer l''aspiration des données à partir des pages jaunes FRANCE');

              BlockImages(false,1);
              navigate('http://www.pagesjaunes.fr');
              showmessage('Choisissez votre catégorie, votre provence et naviguez jusqu''aux premiers résultats');

              visiter:=questiondlg('Souhaitez vous visiter et capturer les site connexes ?');
              if visiter=true then NewBrowser(2);

              // ici la définitions des variables
              repeat;
              sleep(10);
              s:='TD(0)/TR(0)/TBODY(0)/TABLE(0)/TD(0)/TR(1)/TBODY(0)/TABLE(0)/TD(1)/TR(2)/TBODY(0)/TABLE(0)/BODY(0)/HTML(0)/';
              s:=trim(getText(s,1));
              until (s<>'');

              createTable('Adresse','description','email','tel','fax','Raison_sociale','SiteWeb');

              //setuniquecolumn('Raison_sociale');
              showDatabase;

              repeat;
              ajoutes:=recordCount;
              for i:=9 downto 0 do begin;
              s:='TD(0)/TR(0)/TBODY(0)/TABLE('+inttostr(i)+')/TD(0)/TR(1)/TBODY(0)/TABLE(0)/TD(1)/TR(2)/TBODY(0)/TABLE(0)/BODY(0)/HTML(0)/';
              tab.text:=getText(s,1);
              s:='TD(0)/TR(0)/TBODY(0)/TABLE(0)/TD(0)/TR(0)/TBODY(0)/TABLE('+inttostr(i)+')/TD(0)/TR(1)/TBODY(0)/TABLE(0)/TD(1)/TR(2)/TBODY(0)/TABLE(0)/BODY(0)/HTML(0)/';
              description:=getText(s,1);
              html:=getHTML(s,1);
              s:=tab.text;
              if tab.count>0 then Raison_sociale:=tab[0];
              if tab.count>1 then adresse:=tab[1];
              email:= extractEmails(tab.text);
              tel:=extractphones(tab.text);

              liens.commatext:=extractUrlsfromString(html);
              siteweb:='';
              for j:=0 to liens.count-1 do begin;
              if pos('MOD?crypt',liens[j])>0 then siteweb:=liens[j];
              end;
              if (visiter=true) and (siteweb<>'') then begin;
              navigate(siteweb,2);
              siteweb:=getBrowserUrl(2);
              end;

              fax:=extractFaxs(tab.text);
              InsertData(Adresse,description,email,tel,fax,Raison_sociale,SiteWeb);
              end;

              clickform('IMG(0)/A(10)/CENTER(0)/TD(0)/TR(1)/TBODY(0)/TABLE(0)/TD(1)/TR(2)/TBODY(0)/TABLE(0)/BODY(0)/HTML(0)/',1);

              ajoutes:=recordcount-ajoutes;
              until (ajoutes=0);
              exportDataToExcel;

              </script>
              </html>
              1. Je pense que tu as oublié de mettre tous les header
            3. ça n'a rien changé. avec ou sans le header j'ai toujours le même message d'erreur ; inattendu
              1. Lol, tu vas peut-être me tuer, mais tous les langages se ressemblent pour moi... C'est peut-être du VBA ?
            4. Bonjour les amis,

              je m'en sors toujours pas. j'ai regardé la doc mais je trouve pas la solution pour le moment.