// 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;