Parser imagine parser din site

Parser imagine parser din site

Luați în considerare detaliile lucrării parserului de fotografii sau imagini de pe site. Fotografiile vor fi descărcate și salvate pe calculatorul sau serverul dvs., care rulează scriptul de parser PHP. Vom descărca imagini de pe cardul de mărfuri al magazinului online gearbest.com.







În primul rând, trebuie să colectați adresa URL a fotografiei produsului din codul HTML al cartelei produsului.

Parser imagine parser din site

Pentru a face acest lucru, puteți aplica un parser simplu HTML, care a fost discutat în primul articol al ciclului.

După primirea listei de link-uri către fotografia produsului, descărcăm ele însele aceleași funcții de obținere a datelor de pe server pe baza cURL. Puteti chiar folosi functia standard PHP file_get_contents (). Dar în funcția noastră curl_get_contents () este posibil să încercați din nou să descărcați fișierul și să întrerupeți între cereri către server. Acest lucru este util atunci când intrăți pe site-uri care sunt protejate de mai multe descărcări sau de servere slabe care nu pot suporta sarcini mai mari.







Parser imagine parser din site

Parser imagini produs de pe site

Ca rezultat, obținem un simplu parser foto de pe site pe exemplul gearbest.com. Codul de parser este plasat într-un fișier, unele dintre erorile posibile nu sunt procesate pentru brevetarea codului.

Cod sursă index.php:

Să analizăm principalele caracteristici. Parserul colectează fotografii de pe o singură carte de produs. Dar nimic nu ne împiedică, dacă este necesar, să adăugăm un alt ciclu și să distrugem imaginile din lista de pagini.

Rețineți funcția preg_match_all (). returnează o matrice de expresii regulate. Aceasta este principala sa diferență față de funcția preg_match (). care funcționează până la prima coincidență.

Cu ajutorul funcției PHP built_put_contents (), puteți salva fotografia pe serverul dvs. pe calea corectă. În consecință, verificăm mai întâi disponibilitatea directorului de care avem nevoie și îl creăm în absența acestuia.

De asemenea, când am încercat să obțin un nume de fișier de la adresa URL, am arătat un exemplu despre modul în care PHP a gestionat funcțiile mb_strpos () și mb_substr (). Este util să le folosiți ca o alternativă la expresiile regulate, acestea funcționează mai repede. Prefixul mb_ indică faptul că aceste funcții funcționează corect cu codificări multibyte, în special cu șiruri de caractere în limba rusă.

Ca rezultat al parserului, vom obține o listă de fotografii pe unitatea hard disk în dosarul specificat și cu numele de fișiere date.

Desigur, s-ar putea organiza un parser pe tehnologia AJAX. dar abordarea are avantajele sale. De exemplu, cu un număr mare de imagini și o lucrare lungă de parser, nu este necesar să păstrăm fișa browserului deschisă. Scriptul PHP va putea lucra mult timp pe server și va salva imaginile în directorul dorit. În acest caz, cu toate acestea, nu vom vedea rezultatele executării scenariului. Dar aceeași terminare a parserului va fi observată după crearea de fișiere noi din fotografie.







Articole similare

Trimiteți-le prietenilor: