Action sur site web avec PHP

bigbik Messages postés 165 Statut Membre -  
bigbik Messages postés 165 Statut Membre -
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. Templier Nocturne Messages postés 9989 Statut Membre 1 107
     
    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 :/
    0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Tu "interagit" en php ou en javascript ?
    A+
    0
  3. bigbik Messages postés 165 Statut Membre 1
     
    bonjour, je veux interagir en php
    0
  4. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    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+
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bigbik
     
    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 ?
    0
  7. Profil bloqué
     
    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 !
    0
  8. bigbik
     
    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
    0
    1. Profil bloqué
       
      jaunes ou blanches ?
      0
    2. Profil bloqué
       
      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
      0
  9. bigbik
     
    c'est en quel langage ?
    0
    1. Profil bloqué
       
      javascript
      0
  10. bigbik
     
    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>
    0
    1. Profil bloqué
       
      Je pense que tu as oublié de mettre tous les header
      0
  11. bigbik
     
    ça n'a rien changé. avec ou sans le header j'ai toujours le même message d'erreur ; inattendu
    0
    1. Profil bloqué
       
      Lol, tu vas peut-être me tuer, mais tous les langages se ressemblent pour moi... C'est peut-être du VBA ?
      0
  12. bigbik Messages postés 165 Statut Membre 1
     
    Bonjour les amis,

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