Salam,
Php ilə web saytın kontentinin dəyişdiyini necə anlamaq olar?
Saytın contentini götürüb md5-ə çevirib, daha sonra yenidən bu əməliyyatı edib bunları tutuşdurmaq olar, amma bu tam yaxşı yol deyil.
Mənim burda əsas məqsədim son əlavə olunan blog yazısını oxumaqdır.
Qeyd edim ki, saytlar çoxdur yəni bir sayt olsa ona nəsə etmək olar amma saytların sayı çoxdur.
Bucür hallarda necə bir həll məsləhət görərdiniz?
Verilmiş cavablar və yazılan şərhlər (4 cavab var)
0
Yenilənən saytların demək olar hamısının RSS kanalı var, girirsiniz, Feedly-yə, saytın adın yazırsınız. Vəssalam, bütün saytların hamsını bir app daxilində oxuyursunuz. Bütün yeni məqalələr, yazılar da vaxtı-vaxtında peyda olur.
md5 yanaşması doğru deyil əlbəttə ki. Saytda yeni yazı çıxmadan tarix də dəyişə bilər, valyuta kursu da, digər statik bir məzmun da. O halda da md5 dəyişər.
Doğru yanaşma saytın xəbər blokunu parse edib yoxlamaqdır.
Məsələn scriptiniz hər gün X dəfə cron job ilə işə düşür, aaa.com saytının kontentini yükləyir, xəbər blokunu tapır, onu elementlərə bölür, son elementi götürüb saxlayır siz tərəfdə yaddaşda.
Növbəti dəfə yenə eyni şeyi edir, bu dəfə son elementi əvvəlki son element ilə tutuşdurur, eynidirsə, deməli yeni xəbər yoxdur.
0
Bəli Elvin bəy, mən də tam olaraq sizin qeyd etdiyiniz ikinci həlli etmək istəyirəm amma nəzərə almaq lazımdır ki, saytlar çoxdur.
O zaman burda hər sayt üçün ayrı format işlətmək lazım olacaq.
Sizin fikrinizcə aşağıdakı kimi bir həll yolu yaxşıdır yoxsa başqa alternativlər ola bilər?
İlk öncə saytı bizim bazada qeydiyyatdan keçirən zaman həmin saytın xəbər bloku hissəsini də saxlayırıq(xəbər bloku hər sayt üçün fərqli ola bilər) və ən son xəbərin tapılması hər bir sayt üçün ümumi bir qayda ilə saytı qeydiyyatdan keçirdiyimiz zaman saxladığımız xəbər bloku-na görə tapırıq.
0
RSS bu iş üçün optimal həlldir və varlıq səbəbi də budur.
Kim ki, RSS təqdim etmir, demək ki, maraqlı deyil kənara nizamlanmış məlumat ötürməyə.
Dediyiniz yol elə mən deyənə yaxın yoldur. Xəbər bloku hissəsinin div adını, classını və.s. qeyd edib saxlaya bilərsiniz. Beləliklə hər sayt üçün bir dənə rule (scriptin o bloku tapmasına kömək edəcək rule. class və ya İD adı məsələn) saxlayırsız, scriptiniz də onun sayəsində bütün saytları həll edir.
Daha üstün səviyyəli script isə ağıllı script yazmaq olar. Ki bu rule-ları özü təyin etsin, saytın dizaynı, Strukturu dəyişsə belə yenə də işləməyə davam etsin.
Bunu da iki yolla etmək olar:
1. Tam ağıllı kod: Süni intellekt ilə. Bu ağır məsələdir, üstündə ciddi işləmək lazımdır. Böyük aqreqatorlar (google news, yandex news və.s.) elə işləyir.
2. Psevdo-ağıllı kod: Çoxlu mümkün ruleset yaratmaq. çoxsaylı if-else case-lər ilə öncədən təyin elədiyiniz xəbər bloku əlamətləri axtarışına çıxır ,(məsələn bir containerin içində çoxlu kiçik ölçülü thumb şəkil olması, ancaq başlıqlar olması, alt başlıqlar olması, ul və li listlərinin olması və.s. rule-lar. Və sonra bütün bu rule-ları sadə yolla və ya Bayes teoremi ilə birləşdirib nəticə çıxarmaq) tapdıqda isə onun parent containerinin xəbər bloku olmasına qərar verir. Bu da asan həll deyil, amma birinci bəndə baxanda çox asandır. İş ciddidirsə məhz bu iki yoldan birinə baş vurmaq lazımdır. Çünki bu iki yoldan savayı olan həllər dayanıqlı olmayacaq, tez-tez pozuntular baş verəcək
0
Təşəkkürlər Elvin cavablara görə. Bəli sonda siz qeyd etdiyiniz kimi, RSS ilə bu işi etməyin daha düzgün olacağınl düşünürəm.
Sag olun
Sual verin
Cavab verin