Limita de timp de executie pentru un script PHP
Se stie ca un script PHP are o limita impusa a timpului maxim de executie
Daca ai acces la consola poti rula scruptul oricat timp fara probleme
Solutia: Browser + JavaScript + Ajax + PHP
Dar daca nu ai acces si nu vrei sa folosesti Putty exista o solutie de compromis care functioneaza excelent:
– apelul repetitiv din Java Script (functia setTimeOut) a unui script PHP (prin Ajax)
Aplicatii: Webscraping pagini in mod repetat
Apelul prin Ajax catre scrptul PHP trebuie facut repetat prin intermediul functiei seTimeOut din JavaScript astfel incat intervalul dintre doua apeluri consecutive sa fie suficient de mare astfel incat sa simuleze rasfoirea paginilor de catre un om.
Citirea paginilor se face cu cUrl avand grija ca in optiuni sa fie trecute headere corespunzatoare astfel incat scruptul sa se identifice ca un browser
Legalitate:
- preluarea continutului paginilor sa fie facut doar cu consimtamantul posesorului site-ului
Exemplu: site agregator de anunturi auto
Pentru un astfel de site ideea de afacere este ca anunturile de pe o lista de site-uri de anunturi auto sa fie preluate prin webscraping si inserate in site-ul agregator
Anunturile sunt afisate partial iar continuarea afisarii se face pe site-ul de origine. In acest fel site-ul de origine primeste tot traficul site-ului agregator deci poate exista o intelegere corecta intre cei doi posesori de site-uri.
Detalii de completare a anunturilor pe site-ul agregator de anunturi auto
Pasiul 1: se face o initializare prin scanarea site-ului de origine si incarcarea tuturor anunturilor existente pe site-ul agregator
Pasul 2: prin intermediul cron-urilor se scaneaza pagina cu ultimele anunturi pana la primul anunt deja importat si se importa anunturile complet noi
Nota:
Voi reveni curand cu exemplul concret al site-ului agregator de anunturi auto pentru care execut proiectul de import din alte site-uri de anunturi