17-06-2025, 22:27
Нов ини файл за tv.dir.bg може да си създадете много лесно, стига да разбирате малко и да знаете какви заявки да изпратите. Изпратените заявки мможе да видите в Network конзолата на всеки един браузър, а как да съставите ini файла (ако нямате опит) може да прочетете в документацията на WebGrab++. Аз лично не ползвам WebGrab++, но понеже съм правил конфигурация за новия сайт на tv.dir.bg за друг грабър, си позволявам да давам акъл. Написаното по-долу е само пример и НЕ е тествано, защото важна е идеята, а който иска може да я имплементира и тества.
Като цяло новият сайт е по-защитен от старият, но и това няма им помогне за да предодвратят "грабене" с най-различни ЕПГ "грабъри". В новия сайт обаче липсва (поне за момента) описание на програмите, което го имаше в стария и сайт и което според мен беше причината хората да го използват за ЕПГ.
Относно новата конфигурация, най-важното е, че всички заявки трябва да съдържат временен токън, който се получава при първото посещение на сайта и е различен всеки път.
Необходимо е да се изпрати предварителна (инициализираща) заявка за да се получи токъна и чак след това да се изпращат заявки за съдържанието на програмите. Нещо подобно:
При тази заявка сървъра ще върне JSON форматирано съдържание съдържащо "csrfToken", чиято стойност трябва да се запази в променлива global_temp_1.
После този токън трябва да се използва във всички POST заявки за страниците с ТВ програмата:
След това трябва да се променят правилата за "скрабване" на xmltv елементите, защото и те са различни от стария сайт и това е то.
Пак казвам, кода е примерен и не е тестван на WebGrab++, но на други грабери алгоритъма работи безупречно.
Успех на всички!
Като цяло новият сайт е по-защитен от старият, но и това няма им помогне за да предодвратят "грабене" с най-различни ЕПГ "грабъри". В новия сайт обаче липсва (поне за момента) описание на програмите, което го имаше в стария и сайт и което според мен беше причината хората да го използват за ЕПГ.
Относно новата конфигурация, най-важното е, че всички заявки трябва да съдържат временен токън, който се получава при първото посещение на сайта и е различен всеки път.
Необходимо е да се изпрати предварителна (инициализираща) заявка за да се получи токъна и чак след това да се изпращат заявки за съдържанието на програмите. Нещо подобно:
Код:
url_preload {url()|https://tv.dir.bg/init?article_id=}
При тази заявка сървъра ще върне JSON форматирано съдържание съдържащо "csrfToken", чиято стойност трябва да се запази в променлива global_temp_1.
Код:
global_temp_1.scrub {single||csrfToken":"|"}|}
После този токън трябва да се използва във всички POST заявки за страниците с ТВ програмата:
Код:
url_index.headers {method=POST|contenttype=application/x-www-form-urlencoded}
url_index.headers {postdata=_token='global_temp_1'§channel='channel'§day='urldate'}
url_index.headers {x-requested-with=XMLHttpRequest}
url_index{url|https://tv.dir.bg/load/programs}
След това трябва да се променят правилата за "скрабване" на xmltv елементите, защото и те са различни от стария сайт и това е то.
Пак казвам, кода е примерен и не е тестван на WebGrab++, но на други грабери алгоритъма работи безупречно.
Успех на всички!