Update tvplus.com.tr guide.

Test:

```sh
npm test -- tvplus.com.tr

> test
> run-script-os tvplus.com.tr

> test:win32
> SET "TZ=Pacific/Nauru" && npx jest --runInBand tvplus.com.tr

 PASS  sites/tvplus.com.tr/tvplus.com.tr.test.js
  √ can generate valid url (4 ms)
  √ can parse response (15 ms)
  √ can handle empty guide

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   0 total
Time:        3.648 s, estimated 4 s
Ran all test suites matching /tvplus.com.tr/i.
```

Grab:

```sh
npm run grab -- --site=tvplus.com.tr

> grab
> npx tsx scripts/commands/epg/grab.ts --site=tvplus.com.tr

starting...
config:
  output: guide.xml
  maxConnections: 1
  gzip: false
  site: tvplus.com.tr
loading channels...
  found 10 channel(s)
run #1:
  [1/20] tvplus.com.tr (tr) - 24TV.tr - Dec 15, 2024 (22 programs)
  [2/20] tvplus.com.tr (tr) - 24TV.tr - Dec 16, 2024 (19 programs)
  [3/20] tvplus.com.tr (tr) - BabyTV.uk - Dec 16, 2024 (48 programs)
  [4/20] tvplus.com.tr (tr) - BabyTV.uk - Dec 15, 2024 (48 programs)
  [5/20] tvplus.com.tr (tr) - ASpor.tr - Dec 16, 2024 (13 programs)
  [6/20] tvplus.com.tr (tr) - ASpor.tr - Dec 15, 2024 (14 programs)
  [7/20] tvplus.com.tr (tr) - APara.tr - Dec 16, 2024 (31 programs)
  [8/20] tvplus.com.tr (tr) - APara.tr - Dec 15, 2024 (25 programs)
  [9/20] tvplus.com.tr (tr) - AlJazeeraEnglish.qa - Dec 16, 2024 (32 programs)
  [10/20] tvplus.com.tr (tr) - AlJazeeraEnglish.qa - Dec 15, 2024 (32 programs)
  [11/20] tvplus.com.tr (tr) - AlJazeera.qa - Dec 16, 2024 (40 programs)
  [12/20] tvplus.com.tr (tr) - AlJazeera.qa - Dec 15, 2024 (41 programs)
  [13/20] tvplus.com.tr (tr) - AkitTV.tr - Dec 16, 2024 (15 programs)
  [14/20] tvplus.com.tr (tr) - AkitTV.tr - Dec 15, 2024 (12 programs)
  [15/20] tvplus.com.tr (tr) - AHaber.tr - Dec 16, 2024 (27 programs)
  [16/20] tvplus.com.tr (tr) - AHaber.tr - Dec 15, 2024 (19 programs)
  [17/20] tvplus.com.tr (tr) - A2TV.tr - Dec 16, 2024 (11 programs)
  [18/20] tvplus.com.tr (tr) - A2TV.tr - Dec 15, 2024 (11 programs)
  [19/20] tvplus.com.tr (tr) - 360.tr - Dec 16, 2024 (18 programs)
  [20/20] tvplus.com.tr (tr) - 360.tr - Dec 15, 2024 (18 programs)
  saving to "guide.xml"...
  done in 00h 02m 17s
```

Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
Toha 2024-12-15 22:49:55 +07:00 committed by Ismaël Moret
parent b79b3336a0
commit 5fd4eaf869
4 changed files with 8934 additions and 244 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,145 +1,147 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<channels> <channels>
<channel site="tvplus.com.tr" lang="de" xmltv_id="DWDeutsch.de" site_id="103">DEUTSCHE WELLE</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/blutv-play-1/4300">BluTV Play 1</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="AlJazeera.qa" site_id="140">AL JAZEERA ARABIC</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/blutv-play-2/4302">BluTV Play 2</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="AlJazeeraEnglish.qa" site_id="6">AL JAZEERA ENGLISH</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/ekol-tv/4355">EKOL TV</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="BabyTV.uk" site_id="29">BABYTV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/gzt-tv/4461">GZT TV</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="DWEnglish.de" site_id="94">DEUTSCHE WELLE ENGLISH</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/kibris-ada-tv/67">KIBRIS ADA TV</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="EDGEsport.uk" site_id="137">EDGE SPORT</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/tabii-spor/4399">tabii spor</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="EuronewsEnglish.fr" site_id="171">EURONEWS</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/tabii-tv/4400">tabii TV</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="France24English.fr" site_id="16">FRANCE 24 ENGLISH</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/trt-eba/2300">TRT EBA</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="SkyNewsArabia.ae" site_id="142">SKY NEWS ARABIA</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/tv-2020/4301">TV 2020</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="TRTArabi.tr" site_id="76">TRT ARABI</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="wOhzpck_jO2kKrDfRHmHs/tv-ekstra-ufc/121">TV+ Ekstra UFC</channel>
<channel site="tvplus.com.tr" lang="en" xmltv_id="TRTWorld.tr" site_id="38">TRT World</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="24TV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/24-hd/32">24</channel>
<channel site="tvplus.com.tr" lang="fr" xmltv_id="France24Arabic.fr" site_id="161">FRANCE 24 ARABIC</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="360.tr" site_id="wOhzpck_jO2kKrDfRHmHs/360-hd/86">360</channel>
<channel site="tvplus.com.tr" lang="fr" xmltv_id="TV5MondeEurope.fr" site_id="36">TV5 MONDE</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="A2TV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/a2-hd/2">A2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="101">A NEWS</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="AHaber.tr" site_id="wOhzpck_jO2kKrDfRHmHs/a-haber-hd/160">A HABER</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="149">DISNEY JUNIOR</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="AkitTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/akit-tv-hd/13">AKİT TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="2200">ŞÖMİNE PLUS</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="AlJazeera.qa" site_id="wOhzpck_jO2kKrDfRHmHs/al-jazeera-arabic-hd/140">AL JAZEERA ARABIC</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="2899">TV 4</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="AlJazeeraEnglish.qa" site_id="wOhzpck_jO2kKrDfRHmHs/al-jazeera-english/6">AL JAZEERA ENGLISH</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="2979">FLASH TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="ANews.tr" site_id="wOhzpck_jO2kKrDfRHmHs/a-news-hd/101">A NEWS</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4253">TARIH TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="APara.tr" site_id="wOhzpck_jO2kKrDfRHmHs/a-para-hd/79">A PARA</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4266">MOONBUG KIDS TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="ASpor.tr" site_id="wOhzpck_jO2kKrDfRHmHs/a-spor-hd/3">A SPOR</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4279">CARTOONITO</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="ATV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/atv-hd/124">ATV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4293">UVI JEWELLERY</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BabyTV.uk" site_id="wOhzpck_jO2kKrDfRHmHs/babytv/29">BABYTV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4294">SÖZCÜ TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BBCNews.uk" site_id="wOhzpck_jO2kKrDfRHmHs/bbc-news/4460">BBC News</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4300">BluTV Play 1</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BenguturkTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/benguturk/47">BENGÜTÜRK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4301">TV 2020</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BeyazTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/beyaz-tv-hd/135">BEYAZ TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4302">BluTV Play 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BizimevTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/bizim-ev-tv/118">BİZİM EV TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4319">TRT DIYANET COCUK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BloombergHT.tr" site_id="wOhzpck_jO2kKrDfRHmHs/bloomberg-ht-hd/96">BLOOMBERG HT</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4330">EXXEN TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BloombergTVEurope.uk" site_id="wOhzpck_jO2kKrDfRHmHs/bloomberg/4459">Bloomberg</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="" site_id="4335">TURKHABER</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BRT1.cy" site_id="wOhzpck_jO2kKrDfRHmHs/brt-1-hd/133">BRT 1</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="24TV.tr" site_id="32">24</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="BRT2.cy" site_id="wOhzpck_jO2kKrDfRHmHs/brt-2-hd/203">BRT 2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="360.tr" site_id="86">360</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Cartoonito.uk" site_id="wOhzpck_jO2kKrDfRHmHs/cartoonito/4279">CARTOONITO</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="A2TV.tr" site_id="2">A2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="CartoonNetwork.tr" site_id="wOhzpck_jO2kKrDfRHmHs/cartoon-network/20">CARTOON NETWORK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="AdaTV.cy" site_id="67">KIBRIS ADA TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="CiftciTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/ciftci-tv/2279">ÇİFTÇİ TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="AHaber.tr" site_id="160">A HABER</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="CNBCEurope.uk" site_id="wOhzpck_jO2kKrDfRHmHs/cnbce/4362">CNBC-E</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="AkitTV.tr" site_id="13">AKİT TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="CNNInternationalEurope.us" site_id="wOhzpck_jO2kKrDfRHmHs/cnn-international/4454">CNN International</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="APara.tr" site_id="79">A PARA</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="CNNTurk.tr" site_id="wOhzpck_jO2kKrDfRHmHs/cnn-turk-hd/158">CNN TÜRK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="ASpor.tr" site_id="3">A SPOR</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="DaVinci.de" site_id="wOhzpck_jO2kKrDfRHmHs/da-vinci-hd/208">DA VINCI</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="ATV.tr" site_id="124">ATV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="DiscoveryChannel.tr" site_id="wOhzpck_jO2kKrDfRHmHs/discovery-channel-hd/8">DISCOVERY CHANNEL</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="BenguturkTV.tr" site_id="47">BENGÜTÜRK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="DisneyJunior.tr" site_id="wOhzpck_jO2kKrDfRHmHs/disney-junior/149">DISNEY JUNIOR</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="BeyazTV.tr" site_id="135">BEYAZ TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="DiyanetTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/diyanet-tv/175">DİYANET TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="BizimevTV.tr" site_id="118">BİZİM EV TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="DMAX.tr" site_id="wOhzpck_jO2kKrDfRHmHs/dmax-hd/180">DMAX</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="BloombergHT.tr" site_id="96">BLOOMBERG HT</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="DreamTurk.tr" site_id="wOhzpck_jO2kKrDfRHmHs/dream-turk/153">DREAM TÜRK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="BRT1.cy" site_id="133">BRT 1</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="ducktv.sk" site_id="wOhzpck_jO2kKrDfRHmHs/duck-tv-hd/37">DUCK TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="BRT2.cy" site_id="203">BRT 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="DWEnglish.de" site_id="wOhzpck_jO2kKrDfRHmHs/deutsche-welle-english/94">DEUTSCHE WELLE ENGLISH</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="CartoonNetwork.tr" site_id="20">CARTOON NETWORK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Ekoturk.tr" site_id="wOhzpck_jO2kKrDfRHmHs/ekoturk-hd/100">EKOTÜRK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="CemTV.tr" site_id="136">CEM TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="EnglishClubTV.uk" site_id="wOhzpck_jO2kKrDfRHmHs/english-club-tv/107">ENGLISH CLUB TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="CiftciTV.tr" site_id="2279">ÇİFTÇİ TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="EpicDrama.se" site_id="wOhzpck_jO2kKrDfRHmHs/epic-drama/167">EPIC DRAMA</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="CNNTurk.tr" site_id="158">CNN TÜRK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="EuronewsEnglish.fr" site_id="wOhzpck_jO2kKrDfRHmHs/euronews/171">EURONEWS</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="DaVinci.de" site_id="208">DA VINCI</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Eurosport1.fr" site_id="wOhzpck_jO2kKrDfRHmHs/eurosport-1-hd/77">EUROSPORT 1</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="DiscoveryChannel.tr" site_id="8">DISCOVERY CHANNEL</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Eurosport2.fr" site_id="wOhzpck_jO2kKrDfRHmHs/eurosport-2-hd/106">EUROSPORT 2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="DiyanetTV.tr" site_id="175">DİYANET TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="FBTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/fb-tv/148">FB TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="DMAX.tr" site_id="180">DMAX</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="FlashTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/flash-tv/2979">FLASH TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="DreamTurk.tr" site_id="153">DREAM TÜRK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="FMTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/fm-tv/163">FM TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="ducktv.sk" site_id="37">DUCK TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="France24Arabic.fr" site_id="wOhzpck_jO2kKrDfRHmHs/france-24-arabic/161">FRANCE 24 ARABIC</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="EBATVIlkokul.tr" site_id="2299">TRT EBATV İLKOKUL</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="France24English.fr" site_id="wOhzpck_jO2kKrDfRHmHs/france-24-english/16">FRANCE 24 ENGLISH</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="EBATVLise.tr" site_id="2301">TRT EBATV LİSE</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="FX.us" site_id="wOhzpck_jO2kKrDfRHmHs/fx-hd/131">FX</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="EBATVOrtaokul.tr" site_id="2300">TRT EBATV ORTAOKUL</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="HaberGlobal.tr" site_id="wOhzpck_jO2kKrDfRHmHs/haber-global-hd/5">HABER GLOBAL</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Ekoturk.tr" site_id="100">EKOTÜRK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="HaberturkTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/haberturk-hd/87">HABERTÜRK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="EnglishClubTV.uk" site_id="107">ENGLISH CLUB TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="HalkTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/halk-tv/91">HALK TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="EpicDrama.se" site_id="167">EPIC DRAMA</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="HTSporTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/ht-spor/4396">HT SPOR</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Eurosport1.fr" site_id="77">EUROSPORT 1</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="KadirgaTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/kadirga-tv/110">KADIRGA TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Eurosport2.fr" site_id="106">EUROSPORT 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Kanal7.tr" site_id="wOhzpck_jO2kKrDfRHmHs/kanal-7-hd/90">KANAL 7</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="FBTV.tr" site_id="148">FB TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Kanal23.tr" site_id="wOhzpck_jO2kKrDfRHmHs/kanal-23/2359">KANAL 23</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="FMTV.tr" site_id="163">FM TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Kanal26.tr" site_id="wOhzpck_jO2kKrDfRHmHs/kanal-26/143">KANAL 26</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Fox.tr" site_id="93">FOX</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Kanal33.tr" site_id="wOhzpck_jO2kKrDfRHmHs/kanal-33/146">KANAL 33</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="FX.us" site_id="131">FX</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="KanalD.tr" site_id="wOhzpck_jO2kKrDfRHmHs/kanal-d-hd/88">KANAL D</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="HaberGlobal.tr" site_id="5">HABER GLOBAL</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="KanalV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/kanal-v/114">KANAL V</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="HaberturkTV.tr" site_id="87">HABERTÜRK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="KibrisGencTV.cy" site_id="wOhzpck_jO2kKrDfRHmHs/kibris-genc-tv/112">KIBRIS GENC TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="HalkTV.tr" site_id="91">HALK TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="KibrisKanalT.cy" site_id="wOhzpck_jO2kKrDfRHmHs/kanal-t/42">KANAL T</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="KadirgaTV.tr" site_id="110">KADIRGA TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="KibrisTV.cy" site_id="wOhzpck_jO2kKrDfRHmHs/kibris-tv/113">KIBRIS TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Kanal7.tr" site_id="90">KANAL 7</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="KonTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/kontv-hd/63">KONTV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Kanal23.tr" site_id="2359">KANAL 23</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="KRT.tr" site_id="wOhzpck_jO2kKrDfRHmHs/krt-tv/111">KRT TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Kanal26.tr" site_id="143">KANAL 26</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="LoveNature.ca" site_id="wOhzpck_jO2kKrDfRHmHs/love-nature-hd/45">LOVE NATURE</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Kanal33.tr" site_id="146">KANAL 33</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="MeltemTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/meltem-tv/138">MELTEM TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="KanalD.tr" site_id="88">KANAL D</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="MinikaCocuk.tr" site_id="wOhzpck_jO2kKrDfRHmHs/minika-cocuk/102">MİNİKA ÇOCUK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="KanalV.tr" site_id="114">KANAL V</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="MinikaGo.tr" site_id="wOhzpck_jO2kKrDfRHmHs/minika-go/7">MİNİKA GO</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="KibrisGencTV.cy" site_id="112">KIBRIS GENC TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="MoonbugKids.uk" site_id="wOhzpck_jO2kKrDfRHmHs/moonbug-kids-tv/4266">MOONBUG KIDS TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="KibrisKanalT.cy" site_id="42">KANAL T</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="NationalGeographic.tr" site_id="wOhzpck_jO2kKrDfRHmHs/national-geographic-hd/2799">NATIONAL GEOGRAPHIC</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="KibrisTV.cy" site_id="113">KIBRIS TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="NationalGeographicWild.tr" site_id="wOhzpck_jO2kKrDfRHmHs/national-geographic-wild-hd/139">NATIONAL GEOGRAPHIC WILD</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="KonTV.tr" site_id="63">KONTV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="NBATV.us" site_id="wOhzpck_jO2kKrDfRHmHs/nba-tv-hd/18">NBA TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="KRT.tr" site_id="111">KRT TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="NickJr.tr" site_id="wOhzpck_jO2kKrDfRHmHs/nick-jr/4353">Nick JR</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="LoveNature.ca" site_id="45">LOVE NATURE</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Nicktoons.tr" site_id="wOhzpck_jO2kKrDfRHmHs/nicktoons/2739">NICKTOONS</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="MeltemTV.tr" site_id="138">MELTEM TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="NOWTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/now/93">NOW</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="MinikaCocuk.tr" site_id="102">MİNİKA ÇOCUK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="NTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/ntv-hd/81">NTV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="MinikaGo.tr" site_id="7">MİNİKA GO</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Number1Damar.tr" site_id="wOhzpck_jO2kKrDfRHmHs/nr1-damar-hd/41">NR1 DAMAR</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="NationalGeographic.tr" site_id="2799">NATIONAL GEOGRAPHIC</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Number1Turk.tr" site_id="wOhzpck_jO2kKrDfRHmHs/number1-turk-hd/98">NUMBER1 TURK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="NationalGeographicWild.tr" site_id="139">NATIONAL GEOGRAPHIC WILD</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Number1TV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/number1-tv-hd/204">NUMBER1 TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="NBATV.us" site_id="18">NBA TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="On6.tr" site_id="wOhzpck_jO2kKrDfRHmHs/on6/169">ON6</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Nicktoons.tr" site_id="2739">NICKTOONS</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="PowerTurkTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/power-turk-hd/202">POWER TURK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="NTV.tr" site_id="81">NTV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="PowerTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/power-tv-hd/172">POWER TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Number1Ask.tr" site_id="33">NR1 AŞK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SemerkandTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/semerkand-hd/97">SEMERKAND</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Number1Damar.tr" site_id="41">NR1 DAMAR</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="ShowTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/show-tv-hd/130">SHOW TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Number1Turk.tr" site_id="98">NUMBER1 TURK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Sinema2.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-tv-2-hd/199">SİNEMA TV 2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Number1TV.tr" site_id="204">NUMBER1 TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Sinema1001.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-tv-1001-hd/181">SİNEMA TV 1001</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="On6.tr" site_id="169">ON6</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Sinema1002.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-1002-hd/190">SİNEMA 1002</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="PowerTurkTV.tr" site_id="202">POWER TURK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaAile2.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-aile-2-hd/182">SİNEMA AİLE 2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="PowerTV.tr" site_id="172">POWER TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaAile.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-aile-hd/155">SİNEMA AİLE</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SemerkandTV.tr" site_id="97">SEMERKAND</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaAksiyon2.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-aksiyon-2-hd/196">SİNEMA AKSİYON 2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="ShowTV.tr" site_id="130">SHOW TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaAksiyon.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-tv-aksiyon-hd/129">SİNEMA TV AKSİYON</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Sinema2.tr" site_id="199">SİNEMA TV 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaKomedi.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-komedi-hd/154">SİNEMA KOMEDİ</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Sinema1001.tr" site_id="181">SİNEMA TV 1001</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-tv-hd/166">SİNEMA TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Sinema1002.tr" site_id="190">SİNEMA 1002</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaYerli2.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-yerli-2-hd/61">SİNEMA YERLİ 2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaAile2.tr" site_id="182">SİNEMA AİLE 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaYerli.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sinema-yerli-hd/12">SİNEMA YERLİ</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaAile.tr" site_id="155">SİNEMA AİLE</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SkyNewsArabia.ae" site_id="wOhzpck_jO2kKrDfRHmHs/sky-news-arabia/142">SKY NEWS ARABIA</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaAksiyon2.tr" site_id="196">SİNEMA AKSİYON 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SozcuTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sozcu-tv/4294">SÖZCÜ TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaAksiyon.tr" site_id="129">SİNEMA TV AKSİYON</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SportsTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/sports-tv-hd/173">SPORTS TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaKomedi.tr" site_id="154">SİNEMA KOMEDİ</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SSport2.tr" site_id="wOhzpck_jO2kKrDfRHmHs/s-sport-2/170">S SPORT 2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaTV.tr" site_id="166">SİNEMA TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="SSport.tr" site_id="wOhzpck_jO2kKrDfRHmHs/s-sport/11">S SPORT</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaYerli2.tr" site_id="61">SİNEMA YERLİ 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="StarTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/star-tv-hd/89">STAR TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SinemaYerli.tr" site_id="12">SİNEMA YERLİ</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TarihTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tarih-tv/4253">TARIH TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SportsTV.tr" site_id="173">SPORTS TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TarimTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tarim-tv/141">TARIM TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SSport2.tr" site_id="170">S SPORT 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Tele1.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tele1/189">TELE1</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="SSport.tr" site_id="11">S SPORT</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="Teve2.tr" site_id="wOhzpck_jO2kKrDfRHmHs/teve2-hd/95">TEVE2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="StarTV.tr" site_id="89">STAR TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TGRTHaber.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tgrt-haber-hd/34">TGRT HABER</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TarimTV.tr" site_id="141">TARIM TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TLC.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tlc/174">TLC</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Tele1.tr" site_id="189">TELE1</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TMB.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tmb-tv/2280">TMB TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="Teve2.tr" site_id="95">TEVE2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRT1.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt1-hd/144">TRT1</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TGRTHaber.tr" site_id="34">TGRT HABER</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRT2.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-2-hd/83">TRT 2</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TJKTV.tr" site_id="15">TJK TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRT3.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-3/116">TRT 3</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TLC.tr" site_id="174">TLC</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTArabi.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-arabi/76">TRT ARABI</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TMB.tr" site_id="2280">TMB TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTAvaz.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-avaz/193">TRT AVAZ</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRT1.tr" site_id="144">TRT1</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTBelgesel.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-belgesel-hd/21">TRT BELGESEL</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRT2.tr" site_id="83">TRT 2</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTCocuk.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-cocuk-hd/99">TRT ÇOCUK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRT3.tr" site_id="116">TRT 3</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTDiyanetCocuk.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-diyanet-cocuk/4319">TRT DIYANET COCUK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTAvaz.tr" site_id="193">TRT AVAZ</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTHaber.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-haber-hd/30">TRT HABER</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTBelgesel.tr" site_id="21">TRT BELGESEL</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTKurdi.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-kurdi/10">TRT KURDİ</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTCocuk.tr" site_id="99">TRT ÇOCUK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTMuzik.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-muzik/159">TRT MÜZİK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTHaber.tr" site_id="30">TRT HABER</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTSpor.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-spor-hd/31">TRT SPOR</channel>
<channel site="tvplus.com.tr" lang="ku" xmltv_id="TRTKurdi.tr" site_id="10">TRT KURDİ</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTSporYildiz.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-spor-yildiz/205">TRT SPOR YILDIZ</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTMuzik.tr" site_id="159">TRT MÜZİK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTTurk.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-turk/156">TRT TÜRK</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTSpor.tr" site_id="31">TRT SPOR</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTWorld.tr" site_id="wOhzpck_jO2kKrDfRHmHs/trt-world-hd/38">TRT World</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTSporYildiz.tr" site_id="205">TRT SPOR YILDIZ</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TurkHaberTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/turkhaber/4335">TURKHABER</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TRTTurk.tr" site_id="156">TRT TÜRK</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TV4.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tv-4/2899">TV 4</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TV8.tr" site_id="134">TV8</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TV5.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tv5/4359">TV5</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TV85.tr" site_id="188">TV8,5</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TV5MondeEurope.fr" site_id="wOhzpck_jO2kKrDfRHmHs/tv5-monde/36">TV5 MONDE</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TV100.tr" site_id="179">TV100</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TV8.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tv8-hd/134">TV8</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="TVNET.tr" site_id="92">TVNET</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TV85.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tv85-hd/188">TV8,5</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="UlkeTV.tr" site_id="145">ÜLKE TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TV100.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tv100/179">TV100</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="UlusalKanal.tr" site_id="2240">ULUSAL KANAL</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="TVNET.tr" site_id="wOhzpck_jO2kKrDfRHmHs/tvnet-hd/92">TVNET</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="VavTV.tr" site_id="2859">VAV TV</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="UlkeTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/ulke-tv-hd/145">ÜLKE TV</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="ViasatExplore.tr" site_id="59">VIASAT EXPLORE</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="UlusalKanal.tr" site_id="wOhzpck_jO2kKrDfRHmHs/ulusal-kanal/2240">ULUSAL KANAL</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="ViasatHistory.tr" site_id="44">VIASAT HISTORY</channel> <channel site="tvplus.com.tr" lang="tr" xmltv_id="VavTV.tr" site_id="wOhzpck_jO2kKrDfRHmHs/vav-tv/2859">VAV TV</channel>
</channels> <channel site="tvplus.com.tr" lang="tr" xmltv_id="ViasatExplore.tr" site_id="wOhzpck_jO2kKrDfRHmHs/viasat-explore/59">VIASAT EXPLORE</channel>
<channel site="tvplus.com.tr" lang="tr" xmltv_id="ViasatHistory.tr" site_id="wOhzpck_jO2kKrDfRHmHs/viasat-history-hd/44">VIASAT HISTORY</channel>
</channels>

View file

@ -1,4 +1,3 @@
const axios = require('axios')
const dayjs = require('dayjs') const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc') const utc = require('dayjs/plugin/utc')
const customParseFormat = require('dayjs/plugin/customParseFormat') const customParseFormat = require('dayjs/plugin/customParseFormat')
@ -9,90 +8,77 @@ dayjs.extend(customParseFormat)
module.exports = { module.exports = {
site: 'tvplus.com.tr', site: 'tvplus.com.tr',
days: 2, days: 2,
url: 'https://izmottvsc23.tvplus.com.tr:33207/EPG/JSON/PlayBillList',
request: { request: {
method: 'POST', cache: {
async headers() { ttl: 24 * 60 * 60 * 1000 // 1 day
const response = await axios
.post('https://izmottvsc23.tvplus.com.tr:33207/EPG/JSON/Authenticate', {
terminaltype: 'WEBTV_WIDEVINE',
userType: '3',
timezone: 'UTC'
})
.catch(console.log)
const cookie = Array.isArray(response.headers['set-cookie'])
? response.headers['set-cookie'].join('; ')
: ''
return { cookie }
},
data({ date, channel }) {
return {
type: '2',
channelid: channel.site_id,
begintime: date.format('YYYYMMDDHHmmss'),
endtime: date.add(1, 'd').format('YYYYMMDDHHmmss')
}
} }
}, },
parser: function ({ content }) { url({ channel }) {
let programs = [] const [buildId, slug, nr] = channel.site_id.split('/')
const items = parseItems(content) const channelId = [slug, nr].join('--')
items.forEach(item => { return `https://tvplus.com.tr/_next/data/${
const start = parseStart(item) buildId
const stop = parseStop(item) }/${
programs.push({ channel.lang
title: item.name, }/canli-tv/yayin-akisi/${
category: item.genres, channelId
description: item.introduce, }.json?title=${
image: parseImage(item), channelId
start: start.toJSON(), }`
stop: stop.toJSON() },
}) parser({ content, date }) {
}) const programs = []
if (content) {
const data = JSON.parse(content)
if (Array.isArray(data?.pageProps?.allPlaybillList)) {
data.pageProps.allPlaybillList
.filter(i => i.length && i[0].starttime.startsWith(date.format('YYYY-MM-DD')))
.forEach(i => {
for (const schedule of i) {
const [, season, episode] = schedule.seasonInfo?.match(/(\d+)\. Sezon \- (\d+)\. Bölüm/) || [null, null, null]
programs.push({
title: schedule.name,
description: schedule.introduce,
category: schedule.genres,
image: schedule.picture,
season: season ? parseInt(season) : null,
episode: episode ? parseInt(episode) : null,
start: dayjs.utc(schedule.starttime),
stop: dayjs.utc(schedule.endtime)
})
}
})
}
}
return programs return programs
}, },
async channels() { async channels() {
const cheerio = require('cheerio') const cheerio = require('cheerio')
const axios = require('axios')
const channels = [] const channels = []
const data = await axios const data = await axios
.get(`https://tvplus.com.tr/canli-tv/yayin-akisi`) .get(`https://tvplus.com.tr/canli-tv/yayin-akisi`)
.then(r => r.data) .then(r => r.data)
.catch(console.log) .catch(console.error)
const $ = cheerio.load(data) const $ = cheerio.load(data)
$('.channelListItem').each((i, el) => { const nextData = JSON.parse($('#__NEXT_DATA__').text())
const name = $(el).find('.channelName').text() $('.channel-list-item a').toArray()
const url = $(el).find('.channelLink').attr('href') .forEach(el => {
const [, site_id] = url.match(/\-\-(\d+)$/) const a = $(el)
channels.push({
channels.push({ lang: 'tr',
lang: 'tr', name: a.attr('title').replace(/Yayın Akışı/, '').trim(),
name, site_id: [
site_id nextData.buildId,
...a.attr('href')
.replace(/\/canli\-tv\/yayin\-akisi\//, '')
.split('--')
].join('/')
})
}) })
})
return channels return channels
} }
} }
function parseImage(item) {
return item.pictures && item.pictures.length ? item.pictures[0].href : null
}
function parseStart(item) {
return dayjs.utc(item.starttime, 'YYYYMMDDHHmmss')
}
function parseStop(item) {
return dayjs.utc(item.endtime, 'YYYYMMDDHHmmss')
}
function parseItems(content) {
const data = JSON.parse(content)
return data.playbilllist || []
}

View file

@ -1,54 +1,65 @@
const { parser, url, request } = require('./tvplus.com.tr.config.js') const { parser, url } = require('./tvplus.com.tr.config.js')
const fs = require('fs')
const path = require('path')
const dayjs = require('dayjs') const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc') const utc = require('dayjs/plugin/utc')
const customParseFormat = require('dayjs/plugin/customParseFormat') const customParseFormat = require('dayjs/plugin/customParseFormat')
dayjs.extend(customParseFormat) dayjs.extend(customParseFormat)
dayjs.extend(utc) dayjs.extend(utc)
const date = dayjs.utc('2021-11-07', 'YYYY-MM-DD').startOf('d') const date = dayjs.utc('2024-12-15', 'YYYY-MM-DD').startOf('d')
const channel = { const channel = {
site_id: '32', lang: 'tr',
xmltv_id: '24TV.tr' site_id: 'wOhzpck_jO2kKrDfRHmHs/nick-jr/4353',
xmltv_id: 'NickJr.tr'
} }
const content =
'{"counttotal":"23","playbilllist":[{"country":"","starttime":"20211107000000","type":"PROGRAM","isBlackout":"0","rerun":"0","ppvsubscribed":"0","foreignsn":"134383557","isLive":"0","ratingid":"0","episodeTotalCount":"0","id":"134383557","keyword":"24 Portre","contentType":"0","isnpvr":"1","slsType":"0","iscpvr":"0","advisory":[],"genreIds":["1179"],"istvod":"0","name":"24 Portre","tvodStatus":"0","pictures":[{"href":"https://izmottvsc23.tvplus.com.tr:33207/CPS/images/universal/film/program/202111/20211104/35/20211104000026695lh5.jpg","resolution":["null","null"],"imageType":"0"}],"externalContentCode":"105445035962202111070300","genres":"Yaşam","visittimes":"0","issubscribed":"0","programType":"program","gapFiller":"0","introduce":"Kendi alanında büyük başarılar elde etmiş insanların kendi ağzından hayat hikayeleri ekrana geliyor.","priceType":[{"value":"0","key":"BTV"},{"value":"0","key":"TVOD"}],"endtime":"20211107010000","seasonTotalCount":"0","recordedMediaIds":[],"picture":{},"isLoyalty":"0","isppv":"0","mainGenre":"0","contentRight":"[{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"13\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"14\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"15\\",\\"enable\\":\\"1\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"13\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"14\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"15\\",\\"enable\\":\\"1\\"}]","channelid":"32"}],"playbillVersion":[{"channelId":"32","date":"20211108","version":"20211106000043"},{"channelId":"32","date":"20211107","version":"20211105000027"}]}'
it('can generate valid url', () => { it('can generate valid url', () => {
expect(url).toBe('https://izmottvsc23.tvplus.com.tr:33207/EPG/JSON/PlayBillList') expect(url({ channel })).toBe('https://tvplus.com.tr/_next/data/wOhzpck_jO2kKrDfRHmHs/tr/canli-tv/yayin-akisi/nick-jr--4353.json?title=nick-jr--4353')
})
it('can generate valid request data', () => {
const result = request.data({ date, channel })
expect(result).toMatchObject({
type: '2',
channelid: '32',
begintime: '20211107000000',
endtime: '20211108000000'
})
}) })
it('can parse response', () => { it('can parse response', () => {
const result = parser({ date, channel, content }) const content = fs.readFileSync(path.join(__dirname, '__data__', 'content.json'))
expect(result).toMatchObject([ const results = parser({ date, channel, content })
{ .map(p => {
start: '2021-11-07T00:00:00.000Z', p.start = p.start.toJSON()
stop: '2021-11-07T01:00:00.000Z', p.stop = p.stop.toJSON()
title: '24 Portre', return p
category: 'Yaşam', })
image:
'https://izmottvsc23.tvplus.com.tr:33207/CPS/images/universal/film/program/202111/20211104/35/20211104000026695lh5.jpg', expect(results.length).toBe(88)
description: expect(results[0]).toMatchObject({
'Kendi alanında büyük başarılar elde etmiş insanların kendi ağzından hayat hikayeleri ekrana geliyor.' start: '2024-12-14T21:10:00.000Z',
} stop: '2024-12-14T21:20:00.000Z',
]) title: 'Camgöz (2020)',
description:
'Max\'in Camgöz adında yarı köpek balığı yarı köpek eşsiz bir evcil havyanı vardır. İlk başlarda Camgöz\'ü saklamaya çalışsa da Sisli Pınarlar\'da, en iyi arkadaşlar, meraklı komşular ve hatta Max\'in ailesi bile yaramaz yeni arkadaşını fark edecektir.',
image:
'https://gbzeottvsc01.tvplus.com.tr:33207/CPS/images/universal/film/program/202412/20241209/21/2126356250845eb88428_0_XL.jpg',
category: 'Çocuk',
season: 1,
episode: 116
})
expect(results[10]).toMatchObject({
start: '2024-12-14T23:00:00.000Z',
stop: '2024-12-14T23:25:00.000Z',
title: 'Blaze ve Yol Canavarları',
description:
'Blaze ve Yol Canavarları, dünyanın en büyük canavar kamyonu Blaze ve en iyi arkadaşı ve sürücüsü AJ adında bir çocuk hakkındaki interaktif bir anaokulu animasyon dizisidir.',
image:
'https://gbzeottvsc01.tvplus.com.tr:33207/CPS/images/universal/film/program/202412/20241209/94/2126356271145eb88428_0_XL.jpg',
category: 'Çocuk',
season: 6,
episode: 617
})
}) })
it('can handle empty guide', () => { it('can handle empty guide', () => {
const result = parser({ const result = parser({
date, date,
channel, channel,
content: content: ''
'{"counttotal":"0","playbilllist":[],"playbillVersion":[{"channelId":"10000","date":"20211108","version":"20211107163253"},{"channelId":"10000","date":"20211107","version":"20211107163253"}]}'
}) })
expect(result).toMatchObject([]) expect(result).toMatchObject([])
}) })