X

Apel repetitiv script PHP – Web scraping

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

 

 

 

 

Comments are closed.