Данас, када на Интернету

Данас, када на Интернету постоји пуно информација, вести и чланака, постоји потреба за филтрирањем података. Занимају ме вести о технологији и фудбалу. Често посећујем сајт са вестима о фудбалском клубу Рубин, али тамо нема толико вести и зато сам одлучио да уштедим време и напишем парсирајуће чланке / вести са објавом на каналу телеграма





https://my.wartburg.edu/ICS/icsfs/smart-hours.pdf?target=bab95ca5-d14b-466f-87c3-88959fa12748
https://my.wartburg.edu/ICS/icsfs/where-to-get.pdf?target=529842fe-1fa1-4140-9630-7bb356680c16
Одлучено је да се написа мини пројекат у чистом ПХП-у користећи склите3 базу података. ПХП је изабран јер има више искуства у њему, склите3 јер је по мом мишљењу лакше пренијети га на сервер. Након што сам објесио крунице на индек.пхп датотеку, започињући је сваких сат времена. Веб локација са које се скенирају подаци: Бусинесс ОнЛине

Цровн Цомманд:

0 * / 1 * * * / уср / бин / пхп /вар/ввв/парсинг/индек.пхп> / вар / ввв / рашчлањивање / логс / логцрон.лог
Да би извршио себи задати задатак, користио је цУрл да би добио хтмл код странице странице. Примљене потребне податке користећи регуларне изразе. Требали су следећи подаци: линкови до вести и чланака, у чијој сидри се налази реч „Руби“, затим планирам да добијем имена свих играча и филтрирам примљене линкове по њима.

иф (прег_матцх ('/ (Рубин | Кудриасхов) / мс', $ арраи [1] [$ и])
        &&! прег_матцх ('/ ((сви РПЛ преноси)) / мс', $ арраи [1] [$ и]))

Након примања веза на материјале, проверава се њихова присутност у бази података, ако у бази података нема линкова до тих материјала, тада добијамо хтмл-код чланка према линку, сви исти регуларни изрази, обрађујемо их - замените ознаке маркупом, добивате УРЛ адресе, преостале необрађене ознаке се бришу.


прег_матцх_алл ('/ <имг срц = "(. *?)". +?> / м', $ тект, $ пхото);
$ тект = прег_реплаце ('/ <стронг> (. *?) </стронг> \ м', '* $ 1 *', $ тект);
$ тект = прег_реплаце ('/ <п> (. *?) <\ / п> / мс', "\ т \ т $ 1 \ н \ н", $ тект);
$ тект = прег_реплаце ('/ \ с {2,} /', '', $ тект);
$ тект = прег_реплаце ('/ <х1> (. *?) <\ / х1> / м', "\ н \ н * $ 1 * \ н \ н", $ тект);
$ тект = прег_реплаце ('/ <а хреф="(.*?)" .+?> (. *?) <\ / а> /', "[$ 2] ($ 1) \ н \ н", $ тект );

Даље, проверите дужину текста, она не сме бити већа од 4096 због телеграмских ограничења и исецкана на делове и шаљемо у деловима, након чега шаљемо фотографије чланка.

Успут, хтео бих да се задржим на једној тачки. Дошло је до проблема што је телеграм заклео на кодирање, тражио је утф-8, и одлучио следеће:


$ итем = мб_цонверт_енцодинг ($ ставка, 'утф-8', мб_детецт_енцодинг ($ ставка));

Даље је са стране телеграма урадио следеће: створио бот и канал. Бота је поставио администратора канала и у име робота објављујем вести каналу.

Дакле, проводећи око три сата времена, надам се да ћу ослободити више времена које бих могао потрошити на провјеру нових чланака.

Ако је неко заинтересован за имплементацију, добродошли у гит.