mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 09:00:07 -04:00
Merge pull request #2610 from iptv-org/add-guiadetv.com
Add guiadetv.com
This commit is contained in:
commit
cfa3c11f98
6 changed files with 3778 additions and 0 deletions
2978
sites/guiadetv.com/__data__/content.html
Normal file
2978
sites/guiadetv.com/__data__/content.html
Normal file
File diff suppressed because it is too large
Load diff
471
sites/guiadetv.com/__data__/no_content.html
Normal file
471
sites/guiadetv.com/__data__/no_content.html
Normal file
|
@ -0,0 +1,471 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="pt-BR">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="mobile-web-app-capable" content="yes">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="author" content="Guia de TV - O seu guia de tv completo">
|
||||||
|
<link rel="preconnect" href="https://apis.google.com">
|
||||||
|
<link rel="preconnect" href="https://pagead2.googlesyndication.com">
|
||||||
|
<link rel="preconnect" href="https://www.google-analytics.com">
|
||||||
|
<link rel="preconnect" href="https://www.googletagmanager.com">
|
||||||
|
<title>Estamos com Problemas de Conexão - Guia de TV</title>
|
||||||
|
<meta content="Estamos com Problemas de Conexão - Guia de TV" name="description">
|
||||||
|
<meta content="tv, guia de tv, guia da tv, programção da tv, tv guia" name="keywords">
|
||||||
|
<link href="" rel="canonical">
|
||||||
|
<script>
|
||||||
|
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('6(1.0)5.4.3("2-0",1.0);',7,7,'theme|localStorage|data|setAttribute|documentElement|document|if'.split('|'),0,{}))
|
||||||
|
</script>
|
||||||
|
<meta content="#1987C9" name="theme-color">
|
||||||
|
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||||
|
<meta content="#1987C9" name="msapplication-TileColor">
|
||||||
|
<meta content="#1987C9" name="msapplication-navbutton-color">
|
||||||
|
|
||||||
|
<link media="all" type="text/css" rel="stylesheet" href="https://www.guiadetv.com/assets/css/home.css?id=115642e437be337a48a6">
|
||||||
|
<link media="all" type="text/css" rel="stylesheet" href="https://www.guiadetv.com/css/img.css?1.2.2">
|
||||||
|
|
||||||
|
<meta property="og:locale" content="pt_BR" />
|
||||||
|
<link rel="alternate" href="android-app://com.guiadetv">
|
||||||
|
<meta content="Estamos com Problemas de Conexão - Guia de TV" property="og:title">
|
||||||
|
<meta content="Estamos com Problemas de Conexão - Guia de TV" property="og:description">
|
||||||
|
<meta content="https://www.guiadetv.com/assets/img/guiadetv.png" property="og:image">
|
||||||
|
<meta content="500" property="og:image:width">
|
||||||
|
<meta content="500" property="og:image:height">
|
||||||
|
<meta property="og:site_name" content="Guia de TV" />
|
||||||
|
<meta content="article" property="og:type">
|
||||||
|
<meta content="https://www.guiadetv.com" property="og:url">
|
||||||
|
<meta content="pt_BR" property="og:locale">
|
||||||
|
<meta content="https://fb.com/guiadetv" property="article:publisher">
|
||||||
|
|
||||||
|
<meta content="summary_large_image" property="twitter:card">
|
||||||
|
<meta content="@guiadetvbr" property="twitter:site">
|
||||||
|
<meta content="Estamos com Problemas de Conexão - Guia de TV" property="twitter:title">
|
||||||
|
<meta content="Estamos com Problemas de Conexão - Guia de TV" property="twitter:description">
|
||||||
|
<meta content="https://www.guiadetv.com/assets/img/guiadetv.png" property="twitter:image">
|
||||||
|
<meta content="https://www.guiadetv.com" property="twitter:url">
|
||||||
|
|
||||||
|
<meta content="Estamos com Problemas de Conexão - Guia de TV" itemprop="name">
|
||||||
|
<meta content="https://www.guiadetv.com" itemprop="url">
|
||||||
|
<meta content="https://www.guiadetv.com/assets/img/guiadetv.png" itemprop="image">
|
||||||
|
<meta content="Estamos com Problemas de Conexão - Guia de TV" itemprop="description">
|
||||||
|
<meta content="https://www.guiadetv.com" name="application-name">
|
||||||
|
<meta name="copyright" content="Guia de TV" />
|
||||||
|
|
||||||
|
<meta content="noodp" name="googlebot">
|
||||||
|
<meta name="Googlebot-News" content="index, follow">
|
||||||
|
|
||||||
|
<meta content="551672212353377" property="fb:app_id">
|
||||||
|
<meta name="google-site-verification" content="Jw0tC6Y79JP2VFeTuhFJt5kiAZ2lL8whxZlo4F37qtc" />
|
||||||
|
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700" rel="stylesheet">
|
||||||
|
<meta content="no-cache, no-store" http-equiv="Cache-Control">
|
||||||
|
<meta content="no-cache, no-store" http-equiv="Pragma">
|
||||||
|
<meta content="Mon, 06 Jan 1990 00:00:01 GMT" http-equiv="expires">
|
||||||
|
<meta content="1" property="fb:aa_id">
|
||||||
|
|
||||||
|
<link rel="shortcut icon" href="https://www.guiadetv.com/assets/icons/favicon.ico" />
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-57x57.png" rel="apple-touch-icon" sizes="57x57">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-60x60.png" rel="apple-touch-icon" sizes="60x60">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-76x76.png" rel="apple-touch-icon" sizes="76x76">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-120x120.png" rel="apple-touch-icon" sizes="120x120">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-152x152.png" rel="apple-touch-icon" sizes="152x152">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/android-icon-192x192.png" rel="icon" sizes="192x192" type="image/png">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png">
|
||||||
|
<link href="https://www.guiadetv.com/assets/icons/manifest.json" rel="manifest">
|
||||||
|
<meta content="https://www.guiadetv.com/assets/icons/ms-icon-144x144.png" name="msapplication-TileImage">
|
||||||
|
|
||||||
|
<script>
|
||||||
|
self!=top&&top.location.replace(window.location.href)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-MVBE98M22E"></script>
|
||||||
|
<script>
|
||||||
|
window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-MVBE98M22E');
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","UA-260225556-1");
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
(function(c,l,a,r,i,t,y){
|
||||||
|
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
||||||
|
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
|
||||||
|
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
||||||
|
})(window, document, "clarity", "script", "oor5to7xw2");
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Livewire Styles --><style >[wire\:loading][wire\:loading], [wire\:loading\.delay][wire\:loading\.delay], [wire\:loading\.inline-block][wire\:loading\.inline-block], [wire\:loading\.inline][wire\:loading\.inline], [wire\:loading\.block][wire\:loading\.block], [wire\:loading\.flex][wire\:loading\.flex], [wire\:loading\.table][wire\:loading\.table], [wire\:loading\.grid][wire\:loading\.grid], [wire\:loading\.inline-flex][wire\:loading\.inline-flex] {display: none;}[wire\:loading\.delay\.none][wire\:loading\.delay\.none], [wire\:loading\.delay\.shortest][wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter][wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short][wire\:loading\.delay\.short], [wire\:loading\.delay\.default][wire\:loading\.delay\.default], [wire\:loading\.delay\.long][wire\:loading\.delay\.long], [wire\:loading\.delay\.longer][wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest][wire\:loading\.delay\.longest] {display: none;}[wire\:offline][wire\:offline] {display: none;}[wire\:dirty]:not(textarea):not(input):not(select) {display: none;}:root {--livewire-progress-bar-color: #2299dd;}[x-cloak] {display: none !important;}</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="kt_body" class="toolbar-enabled">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="menukit">
|
||||||
|
<div class="d-flex flex-column-auto">
|
||||||
|
<div class="page d-flex flex-row flex-column-fluid">
|
||||||
|
<div class="wrapper d-flex flex-column flex-row-fluid" id="kt_wrapper">
|
||||||
|
<div id="kt_header" class="header border-gray-300 border-bottom bg-white align-items-stretch"
|
||||||
|
data-kt-sticky="true" data-kt-sticky-name="header"
|
||||||
|
data-kt-sticky-offset="{default: '500px', lg: '500px'}">
|
||||||
|
<div class="container-xxl d-flex align-items-center">
|
||||||
|
<div class="d-flex align-items-center d-lg-none ms-n2 me-3" data-bs-toggle="collapse"
|
||||||
|
title="Exibir Menu">
|
||||||
|
<div class="btn btn-icon btn-custom w-30px h-30px w-md-40px h-md-40px"
|
||||||
|
id="kt_header_menu_mobile_toggle"><i class="fas fa-bars text-primary fs-2x"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="header-logo me-5 me-md-10 flex-grow-1 flex-lg-grow-0"> <a href="/" wire:navigate>
|
||||||
|
<img alt="Logo" src="/assets/img/logo_with.svg"
|
||||||
|
class="darklogo h-35px h-lg-50px logo-default" />
|
||||||
|
<img alt="Logo" src="/assets/img/logo.svg" class="withlogo h-35px h-lg-50px logo-default" />
|
||||||
|
</a></div>
|
||||||
|
<div class="d-flex flex-row-reverse align-items-stretch justify-content-between flex-lg-grow-1">
|
||||||
|
<div class="d-flex align-items-stretch flex-shrink-1" id="kt_header_nav">
|
||||||
|
<div class="header-menu align-items-stretch" data-kt-drawer="true"
|
||||||
|
data-kt-drawer-name="header-menu" data-kt-drawer-activate="{default: true, lg: false}"
|
||||||
|
data-kt-drawer-overlay="{default: true, lg: false}"
|
||||||
|
data-kt-drawer-width="{default:'200px', '300px': '250px'}"
|
||||||
|
data-kt-drawer-direction="start" data-kt-drawer-toggle="#kt_header_menu_mobile_toggle"
|
||||||
|
data-kt-drawer-dismiss="true"
|
||||||
|
data-kt-swapper="true" data-kt-swapper-mode="prepend"
|
||||||
|
data-kt-swapper-parent="{default: '#kt_body', lg: '#kt_header_nav'}">
|
||||||
|
|
||||||
|
<div class="menu menu-column menu-lg-row menu-state-bg colorfut " data-kt-menu="true">
|
||||||
|
|
||||||
|
<div class="d-lg-none mb-6 d-flex py-4
|
||||||
|
border-gray-300 border-bottom bg-opacity-80 justify-content-center"><img alt="Logo"
|
||||||
|
src="/assets/img/logo_with.svg"
|
||||||
|
class="darklogo h-35px h-lg-50px logo-default" />
|
||||||
|
<img alt="Logo" src="/assets/img/logo.svg"
|
||||||
|
class="withlogo h-35px h-lg-50px logo-default" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.guiadetv.com" wire:navigate>
|
||||||
|
<div
|
||||||
|
class=" menu-item menu-lg-down-accordion me-lg-1">
|
||||||
|
<span class="menu-link py-3">
|
||||||
|
<span class="menu-title"> Início</span> </span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.guiadetv.com/programacao/" wire:navigate.hover>
|
||||||
|
<div
|
||||||
|
class=" active menu-item menu-lg-down-accordion me-lg-1">
|
||||||
|
<span class="menu-link py-3">
|
||||||
|
<span class="menu-title"> Programação da TV</span> </span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.guiadetv.com/futebol/hoje/" wire:navigate.hover>
|
||||||
|
<div
|
||||||
|
class=" menu-item menu-lg-down-accordion me-lg-1">
|
||||||
|
<span class="menu-link py-3"> <span class="menu-title">Futebol
|
||||||
|
Hoje</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.guiadetv.com/info/contato/" wire:navigate>
|
||||||
|
<div
|
||||||
|
class=" menu-item menu-lg-down-accordion me-lg-1">
|
||||||
|
<span class="menu-link py-3"> <span class="menu-title">Contato</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex align-items-stretch justify-content-between">
|
||||||
|
<div class="topbar d-flex align-items-stretch flex-shrink-1">
|
||||||
|
|
||||||
|
<div class="d-flex align-items-center ms-1 ms-lg-3">
|
||||||
|
<div class="btn btn-icon btn-custom position-relative w-30px h-30px w-md-40px h-md-40px"
|
||||||
|
data-bs-html="true" data-bs-placement="bottom" data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal_search">
|
||||||
|
<i class="fas fa-search text-primary fs-2x"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="d-flex align-items-center ms-1 ms-lg-3">
|
||||||
|
<div class="btn btn-icon btn-custom position-relative w-30px h-30px w-md-40px h-md-40px"
|
||||||
|
data-bs-html="true" data-bs-placement="bottom" data-bs-toggle="modal"
|
||||||
|
data-bs-target="#kt_modal_1"><i class="bi bi-gear fs-2x text-primary"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="pub" class="mt-4">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="mt-2 p-2 col-md-10 mb-10 col-lg-7">
|
||||||
|
<div id="androidDiv" style="display: none;">
|
||||||
|
<a href="https://play.google.com/store/apps/details?id=com.guiadetv&orig=site" target="_blank">
|
||||||
|
<img src="https://www.guiadetv.com/assets/publi/baixar-app-guiadetv.png" width="100%" alt=""
|
||||||
|
alt="Link para baixar o nosso app na Google Play Store">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
function isAndroid() {
|
||||||
|
return /Android/i.test(navigator.userAgent);
|
||||||
|
}
|
||||||
|
var div = document.getElementById('androidDiv');
|
||||||
|
if (isAndroid()) {
|
||||||
|
div.style.display = 'block';
|
||||||
|
} else {
|
||||||
|
div.style.display = 'none';
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="guiadetv" class="global flex-root"><div class="container-xxl ">
|
||||||
|
<div class="row mt-10 ">
|
||||||
|
<div class="col-sm-12 col-md-12 col-lg-12 ">
|
||||||
|
<center>
|
||||||
|
<div>
|
||||||
|
<img src="/assets/img/foradoar.gif" alt="500" class="img-fluid">
|
||||||
|
<h1> 500 </h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="ml-4 mb-10 text-lg text-gray-500 uppercase tracking-wider">
|
||||||
|
Estamos com Problemas de Conexão</div>
|
||||||
|
</center>
|
||||||
|
</div></div>
|
||||||
|
</main>
|
||||||
|
<footer class="bg-white border-gray-300 border-top">
|
||||||
|
<div class="footer-copyright align-items-stretch p-3 mt-5">
|
||||||
|
<div class="container ">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col l2 s12 ">
|
||||||
|
<p> <a href="/">
|
||||||
|
<img alt="Logo" src="/assets/img/logo_with.svg"
|
||||||
|
class="darklogo h-35px h-lg-50px logo-default" />
|
||||||
|
<img alt="Logo" src="/assets/img/logo.svg" class="withlogo h-35px h-lg-50px logo-default" />
|
||||||
|
</a></p>
|
||||||
|
<h5 class="white-text">Programação da TV</h5>
|
||||||
|
<p class="grey-text text-lighten-4">Explore a programação diária dos canais abertos e fechados, com
|
||||||
|
o Guia de TV você sabe quais programas vão passar e seus horários. O guia de TV te ajuda a
|
||||||
|
não perder nada.</p>
|
||||||
|
|
||||||
|
<h3>Nosso Aplicativo</h3>
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://play.google.com/store/apps/details?id=com.guiadetv" target="_blank"
|
||||||
|
title="Baixe nosso app para ANDROID">
|
||||||
|
<img src="/assets/img/app_badge_google.png" alt="Google Play Store" width="151" height="45"></a>
|
||||||
|
</div>
|
||||||
|
<div class="col l5 offset-l2 s12">
|
||||||
|
<h3>Guia de TV</h3>
|
||||||
|
<ul class="list-unstyled text-small">
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/">Página Inicial</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/programacao/">Agora na TV</a>
|
||||||
|
</li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/guiadejogos/">Guia de Jogos</a>
|
||||||
|
</li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/noticias/">Notícias</a></li>
|
||||||
|
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/categorias/esportes.html">Esportes na
|
||||||
|
TV</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/categorias/noticias.html">Notícias da
|
||||||
|
TV</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/categorias/filmes-e-series.html">Filmes e Séries</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/categorias/documentarios.html">Documentários na TV</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col l5 offset-l2 s12">
|
||||||
|
<h3>Links Úteis</h3>
|
||||||
|
<ul class="list-unstyled text-small">
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/sobre/">Sobre</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/contato/">Contato</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/politica/">Política de
|
||||||
|
Privacidade</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/cookies/">Política de
|
||||||
|
Cookies</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/termo-de-uso/">Termos de
|
||||||
|
Uso</a></li>
|
||||||
|
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/advertising/">Publicidade</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="footer-copyright border-gray-300 border-top align-items-stretch p-5 mb-20">
|
||||||
|
<div class="container mb-20">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col l5 offset-l2 s12">
|
||||||
|
© 2024 GuiadeTV.com - Todos os direitos reservados </br>
|
||||||
|
® É proibida a reprodução parcial ou total do nosso conteúdo.
|
||||||
|
<a href="/info/blog"> <span class="badge badge-primary"> Versão 1.2.2
|
||||||
|
</span></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col l5 offset-l2 s12 float-end">
|
||||||
|
<p class=" mb-1"> Visite-nos
|
||||||
|
<a class="text-primary right" href="https://twitter.com/guiadetvbr" target="_blank"> Twitter</a>
|
||||||
|
•
|
||||||
|
<a class="text-primary right" href="https://instagram.com/guiadetvoficial" target="_blank">
|
||||||
|
Instagram </a>
|
||||||
|
|
||||||
|
</br>
|
||||||
|
© COPYRIGHT 23-2024 •
|
||||||
|
by SincNetwork
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="modal fade" tabindex="-1" id="modal_search">
|
||||||
|
<div class="modal-dialog ">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title">Faça uma Busca</h5>
|
||||||
|
<div class="btn btn-icon btn-sm btn-active-light-primary ms-2" data-bs-dismiss="modal"
|
||||||
|
aria-label="Close">
|
||||||
|
<span class="svg-icon svg-icon-2">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||||
|
<rect opacity="0.5" x="6" y="17.3137" width="16" height="2" rx="1"
|
||||||
|
transform="rotate(-45 6 17.3137)" fill="black" />
|
||||||
|
<rect x="7.41422" y="6" width="16" height="2" rx="1" transform="rotate(45 7.41422 6)"
|
||||||
|
fill="black" />
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
<div class="container d-flex flex-row py-2">
|
||||||
|
|
||||||
|
<form action="https://www.guiadetv.com/resultado/" method="get" id="users-form"
|
||||||
|
class="tm-search input-group mb-3">
|
||||||
|
<input type="text" name="q" required class="form-control" placeholder="Buscar"
|
||||||
|
aria-label="Buscar" aria-describedby="button-addon2">
|
||||||
|
<button class="tm-execute btn btn-primary" type="submit" id="button-addon2">Buscar</button>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="modal fade" tabindex="-1" id="kt_modal_1">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title">Configurações</h5>
|
||||||
|
<div class="btn btn-icon btn-sm btn-active-light-primary ms-2" data-bs-dismiss="modal"
|
||||||
|
aria-label="Close">
|
||||||
|
<span class="svg-icon svg-icon-2">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||||
|
<rect opacity="0.5" x="6" y="17.3137" width="16" height="2" rx="1"
|
||||||
|
transform="rotate(-45 6 17.3137)" fill="black" />
|
||||||
|
<rect x="7.41422" y="6" width="16" height="2" rx="1" transform="rotate(45 7.41422 6)"
|
||||||
|
fill="black" />
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-body">
|
||||||
|
<hr>
|
||||||
|
<div class="chip">
|
||||||
|
<div class="form-check form-switch " id="dark-mode-button">
|
||||||
|
<label>
|
||||||
|
<input class="form-check-input" type="checkbox" id="chck">
|
||||||
|
<label class="form-check-label {default:'350px', 'lg': '700px'}" for="chck"> Modo
|
||||||
|
Dark</label>
|
||||||
|
<br> Ative o modo Dark e deixe a tala escura.
|
||||||
|
O modo escuro ajudará o seu dispositivo a economizar bateria e reduzir a tensão dos seus
|
||||||
|
olhos.
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p>Versão do site <br> 1.2.2 </p>
|
||||||
|
<hr>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-light" data-bs-dismiss="modal">Fechar</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="_wauwewlzq" async src="//waust.at/p2.js?w=wewlzq"></script>
|
||||||
|
<script src="https://www.guiadetv.com/assets/js/home.js?id=1f561bd3424e841754de" data-spa="auto"></script>
|
||||||
|
<script src="https://www.guiadetv.com/vendor/livewire/livewire.min.js?id=38dc8241" data-csrf="SPMsLqHtrgXSCKIbSadEthRbLqfRprA3uV1Tx5uk" data-update-uri="/livewire/update" data-navigate-once="true"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
127
sites/guiadetv.com/guiadetv.com.channels.xml
Normal file
127
sites/guiadetv.com/guiadetv.com.channels.xml
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<channels>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="ae">A&E</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="agro">Agro+</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="amc">AMC</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="animal-planet">Animal Planet</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="arte-1">Arte 1</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="axn">AXN</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="band">Band</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bandnews">Bandnews</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bandsports">Bandsports</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bbc-world">BBC World</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bis">Bis</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bloomberg">Bloomberg</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="box-kids">Box Kids</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="canal-educacao">Canal Educação</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="canal-rural">Canal Rural</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cancao-nova">Canção Nova</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cartoon-network">Cartoon Network</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cartoonito">Cartoonito</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cinecanal">Cinecanal</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cinemax">Cinemax</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cnn-brasil">CNN Brasil</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="combate">Combate</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="comedy-central">Comedy Central</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="curta">Curta!</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-channel">Discovery Channel</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-home-health">Discovery Home & Health</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-kids">Discovery Kids</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-science">Discovery Science</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-theater">Discovery Theater</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-turbo">Discovery Turbo</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-world">Discovery World</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="disney">Disney</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="e">E!</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn">ESPN</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-2">ESPN 2</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-3">ESPN 3</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-4">ESPN 4</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-5">ESPN 5</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-6">ESPN 6</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="film-arts">Film & Arts</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="food-network">Food Network</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="fox-news">Fox News</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="futura">Futura</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="fx">FX</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="globo">Globo</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="globo-news">Globo News</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="gloob">Gloob</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="gloobinho">Gloobinho</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="gnt">GNT</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo">HBO</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-2">HBO 2</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-family">HBO Family</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-mundi">HBO Mundi</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-plus">HBO Plus</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-pop">HBO Pop</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-signature">HBO Signature</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-xtreme">HBO Xtreme</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hgtv">HGTV</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="history">History</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="history-2">History 2</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="investigacao-discovery">Investigação Discovery</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="jovem-pan-news">Jovem Pan News</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="lifetime">Lifetime</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="megapix">Megapix</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="mtv">MTV</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="mtv-live">MTV LIVE</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="multishow">Multishow</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="national-geographic">National Geographic</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="nick-jr-">Nick Jr.</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="nickelodeon">Nickelodeon</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="off">Off</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="paramount-network">Paramount Network</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-2">Premiere 2</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-3">Premiere 3</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-4">Premiere 4</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-5">Premiere 5</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-6">Premiere 6</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-7">Premiere 7</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-fc">Premiere FC</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="prime-box-brazil">Prime Box Brazil</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="record-news">Record News</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="record-tv">Record TV</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-brasil">Rede Brasil</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-familia">Rede Família</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-gospel">Rede Gospel</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-seculo-21">Rede Século 21</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-tv">Rede TV</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-vida">Rede Vida</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sbt">SBT</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sony">Sony</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sony-movies">SONY Movies</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="space">Space</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sportv">SporTV</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sportv-2">SporTV 2</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sportv-3">SporTV 3</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="star-channel">STAR Channel</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="studio-universal">Studio Universal</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="syfy">Syfy</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tcm">TCM</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-action">Telecine Action</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-cult">Telecine Cult</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-fun">Telecine Fun</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-pipoca">Telecine Pipoca</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-premium">Telecine Premium</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-touch">Telecine Touch</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="terra-viva">Terra Viva</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tlc">TLC</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tnt">TNT</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tnt-novelas">TNT Novelas</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tnt-series">TNT Séries</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tooncast">Tooncast</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="travel-box-brasil">Travel Box Brasil</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="trutv">truTV</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-aparecida">TV Aparecida</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-brasil">TV Brasil</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-camara">TV Câmara</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-cultura">TV Cultura</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-gazeta">Tv Gazeta</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-ra-tim-bum">TV Rá Tim Bum</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-senado">TV Senado</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="universal-tv">Universal TV</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="viva">Viva</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="warner">Warner</channel>
|
||||||
|
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="woohoo">Woohoo</channel>
|
||||||
|
</channels>
|
101
sites/guiadetv.com/guiadetv.com.config.js
Normal file
101
sites/guiadetv.com/guiadetv.com.config.js
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
const cheerio = require('cheerio')
|
||||||
|
const axios = require('axios')
|
||||||
|
const dayjs = require('dayjs')
|
||||||
|
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||||
|
|
||||||
|
dayjs.extend(customParseFormat)
|
||||||
|
|
||||||
|
require('dayjs/locale/pt')
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
site: 'guiadetv.com',
|
||||||
|
days: 2,
|
||||||
|
url({ channel }) {
|
||||||
|
return `https://www.guiadetv.com/canal/${channel.site_id}`
|
||||||
|
},
|
||||||
|
parser({ content, date }) {
|
||||||
|
const programs = []
|
||||||
|
const items = parseItems(content, date)
|
||||||
|
items.forEach(item => {
|
||||||
|
const prev = programs[programs.length - 1]
|
||||||
|
const $item = cheerio.load(item)
|
||||||
|
const title = parseTitle($item)
|
||||||
|
let start = parseStart($item)
|
||||||
|
if (!start || !title) return
|
||||||
|
if (prev) {
|
||||||
|
prev.stop = start
|
||||||
|
}
|
||||||
|
const stop = start.add(30, 'm')
|
||||||
|
|
||||||
|
programs.push({
|
||||||
|
title,
|
||||||
|
description: parseDescription($item),
|
||||||
|
category: parseCategory($item),
|
||||||
|
start,
|
||||||
|
stop
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
return programs
|
||||||
|
},
|
||||||
|
async channels() {
|
||||||
|
const categories = [
|
||||||
|
'variedades',
|
||||||
|
'tv-aberta',
|
||||||
|
'noticias',
|
||||||
|
'infantil',
|
||||||
|
'filmes-e-series',
|
||||||
|
'esportes',
|
||||||
|
'documentarios'
|
||||||
|
]
|
||||||
|
const promises = categories.map(category =>
|
||||||
|
axios.get(`https://www.guiadetv.com/categorias/${category}.html`)
|
||||||
|
)
|
||||||
|
|
||||||
|
const channels = []
|
||||||
|
const results = await Promise.all(promises).catch(console.log)
|
||||||
|
results.forEach(r => {
|
||||||
|
const $ = cheerio.load(r.data)
|
||||||
|
$('.cardchannel').each((i, el) => {
|
||||||
|
const link = $(el).find('a')
|
||||||
|
const name = link.attr('title')
|
||||||
|
const url = link.attr('href')
|
||||||
|
const site_id = url.replace('https://www.guiadetv.com/canal/', '')
|
||||||
|
|
||||||
|
channels.push({
|
||||||
|
lang: 'pt',
|
||||||
|
name,
|
||||||
|
site_id
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
return channels
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseTitle($item) {
|
||||||
|
return $item('h3').text().trim()
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseDescription($item) {
|
||||||
|
return $item('p').clone().children().remove().end().text().trim() || null
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseCategory($item) {
|
||||||
|
return $item('p > i').text().trim() || null
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseStart($item) {
|
||||||
|
const dt = $item('b span:nth-child(1)').data('dt') || $item('b').data('dt')
|
||||||
|
if (!dt) return null
|
||||||
|
|
||||||
|
return dayjs(dt, 'YYYY-MM-DD HH:mm:ssZ')
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseItems(content, date) {
|
||||||
|
const $ = cheerio.load(content)
|
||||||
|
const localDate = date.locale('pt').format('D MMMM YYYY')
|
||||||
|
|
||||||
|
return $(`.row:contains(${localDate})`).nextUntil('.row:not(.mt-1)').toArray()
|
||||||
|
}
|
80
sites/guiadetv.com/guiadetv.com.test.js
Normal file
80
sites/guiadetv.com/guiadetv.com.test.js
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
const { parser, url } = require('./guiadetv.com.config.js')
|
||||||
|
const fs = require('fs')
|
||||||
|
const path = require('path')
|
||||||
|
const dayjs = require('dayjs')
|
||||||
|
const utc = require('dayjs/plugin/utc')
|
||||||
|
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||||
|
dayjs.extend(customParseFormat)
|
||||||
|
dayjs.extend(utc)
|
||||||
|
|
||||||
|
const date = dayjs.utc('2025-01-18', 'YYYY-MM-DD').startOf('d')
|
||||||
|
const channel = {
|
||||||
|
site_id: 'canal-rural',
|
||||||
|
xmltv_id: 'CanalRural.br'
|
||||||
|
}
|
||||||
|
|
||||||
|
it('can generate valid url', () => {
|
||||||
|
expect(url({ channel })).toBe('https://www.guiadetv.com/canal/canal-rural')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('can parse response', () => {
|
||||||
|
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
||||||
|
const results = parser({ content, date }).map(p => {
|
||||||
|
p.start = p.start.toJSON()
|
||||||
|
p.stop = p.stop.toJSON()
|
||||||
|
return p
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(results.length).toBe(16)
|
||||||
|
expect(results[0]).toMatchObject({
|
||||||
|
start: '2025-01-18T03:00:00.000Z',
|
||||||
|
stop: '2025-01-18T04:00:00.000Z',
|
||||||
|
title: 'Leilão',
|
||||||
|
description: null,
|
||||||
|
category: null
|
||||||
|
})
|
||||||
|
expect(results[2]).toMatchObject({
|
||||||
|
start: '2025-01-18T06:00:00.000Z',
|
||||||
|
stop: '2025-01-18T09:00:00.000Z',
|
||||||
|
title: 'TV Verdade',
|
||||||
|
description: null,
|
||||||
|
category: 'Jornalismo'
|
||||||
|
})
|
||||||
|
expect(results[15]).toMatchObject({
|
||||||
|
start: '2025-01-19T00:00:00.000Z',
|
||||||
|
stop: '2025-01-19T00:30:00.000Z',
|
||||||
|
title: 'Leilão',
|
||||||
|
description: null,
|
||||||
|
category: null
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
it('can parse response for current day', () => {
|
||||||
|
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
||||||
|
const results = parser({ content, date: dayjs.utc('2025-01-15', 'YYYY-MM-DD').startOf('d') }).map(
|
||||||
|
p => {
|
||||||
|
p.start = p.start.toJSON()
|
||||||
|
p.stop = p.stop.toJSON()
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
expect(results.length).toBe(7)
|
||||||
|
expect(results[0]).toMatchObject({
|
||||||
|
start: '2025-01-15T21:15:00.000Z',
|
||||||
|
stop: '2025-01-15T21:45:00.000Z',
|
||||||
|
title: 'Planeta Campo Talks',
|
||||||
|
description:
|
||||||
|
'Grandes reportagens, notícias, entrevistas e debates com foco em ações de sustentabilidade e indicadores ESG. Informações para apoiar o produtor rural a plantar e criar com olhar para o futuro.',
|
||||||
|
category: null
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
it('can handle empty guide', () => {
|
||||||
|
const results = parser({
|
||||||
|
date,
|
||||||
|
content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.html'))
|
||||||
|
})
|
||||||
|
|
||||||
|
expect(results).toMatchObject([])
|
||||||
|
})
|
21
sites/guiadetv.com/readme.md
Normal file
21
sites/guiadetv.com/readme.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# guiadetv.com
|
||||||
|
|
||||||
|
https://www.guiadetv.com/programacao/
|
||||||
|
|
||||||
|
### Download the guide
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm run grab --- --site=guiadetv.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### Update channel list
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm run channels:parse --- --config=./sites/guiadetv.com/guiadetv.com.config.js --output=./sites/guiadetv.com/guiadetv.com.channels.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Test
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm test --- guiadetv.com
|
||||||
|
```
|
Loading…
Add table
Add a link
Reference in a new issue