Dacă postul anterior a fost destinat exclusiv utilizatorilor programului "Pingovalka", atunci acesta este pentru dezvoltatori. Astăzi ne vom ocupa de sitemap.xml.
În general, o hartă site poate fi utilă pentru orice, pornind de la obținerea unei liste cu toate paginile și, de exemplu, pentru a împrăștia numele de pagini din listă, pentru a verifica indexarea în motoarele de căutare etc. Cunoscând modul în care faceți harta site-ului, puteți economisi mult timp pentru a obține informațiile necesare pe site.
Așa cum am menționat în titlul postului, vom folosi două librării libere, cross-platform - Synapse și NativeXML.
Înainte de a trece la implementarea sitemap-ului citit în Delphi. un pic pentru a înțelege ce ne așteaptă.
Câteva cuvinte despre Sitemap
Un sitemap este folosit pentru a se asigura că motoarele de căutare pot accesa mai ușor cu crawlere un site.
De exemplu, scrierea unei singure adrese URL cu metadate poate arăta astfel:
Dacă site-ul este mai puțin vechi, atunci Sitemap-ul său poate avea mii de adrese URL. De exemplu, sitemap-ul blogului meu are acum 865 de pagini, inclusiv paginile pentru etichete. Și dacă luați niște vareznik în care actualizările pot transmite 100 de bucăți pe zi? Sau un forum popular, popular? Sitemap-ul poate avea un număr suficient de mare de pagini. Prin urmare, dezvoltatorii protocolului Sitemap au făcut o limită de 50.000 de adrese URL per fișier. De asemenea, fișierul trebuie să aibă o dimensiune de până la 10 MB.
Dacă informațiile sunt transferate peste 50000 de pagini, sitemap-ul indexat este trimis către motorul de căutare. Acest fișier afișează căile către fișierele XML în care sunt deja conținute adresele URL.Rezumarea în fișierul index poate arăta astfel:
Toate datele din Sitemap sunt transmise în codare UTF-8. Aici, poate, toate informațiile pe care trebuie să le dezvoltăm. Acum, să mergem la punerea în aplicare a programului nostru.
Harta site-ului Parsim în Delphi
Vom scrie un mic program care va descărca și analiza sitemap-ul de orice fel fără nici o întrebare inutilă - atât cu fișierul index cât și fără el. Pentru aceasta, la început vom defini un pic cu algoritmul. Vom lucra astfel:
- Descărcați fișierul după adresa URL dată
- Am citit fișierul și am determinat dacă este un index
- Dacă am descărcat sitemap-ul indexului, vom obține de la acesta link-uri către alte fișiere și descărcați aceste fișiere
- Parsim toate fișierele descărcate pentru informații despre adresa URL.
Să începem cu descrierea tipurilor de date cerute. Fiecare element din sitemap va fi reprezentat ca o înregistrare: