mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 08:30:06 -04:00
Add meuguia.tv.
Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
parent
35272ea0a4
commit
1e7c4d76a1
4 changed files with 586 additions and 0 deletions
318
sites/meuguia.tv/__data__/content.html
Normal file
318
sites/meuguia.tv/__data__/content.html
Normal file
|
@ -0,0 +1,318 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-MFPDYVWZ2E"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-MFPDYVWZ2E');
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!-- AdSense -->
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7504334276740439"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
|
||||
|
||||
<title>Programação AXN</title>
|
||||
|
||||
<script src="/meuguia.js"></script>
|
||||
|
||||
<link rel="shortcut icon" href=/favicon.ico />
|
||||
<link rel="apple-touch-icon" href=/apple-touch-icon.png />
|
||||
<link rel="stylesheet" media="screen" href="/reset.css" />
|
||||
<link rel="stylesheet" media="screen" href="/meuguia.css" />
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,700|Material+Icons" rel="stylesheet">
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
|
||||
<meta name="author" content="Alexandre Saddi and Fernando Pinho | http://www.alexandresaddi.com" />
|
||||
<meta name="keywords" content="meuguia,meu,guia,tv,grade,guide,tvguide,filmes,esportes,séries,rede globo,programação,iphone webapp,canal" />
|
||||
<meta name="description" content="Guia de programação da televisão no Brasil, incluindo canais de TV por assinatura. Otimizado para iPhone e iPod Touch." />
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="fb-root"></div>
|
||||
<script>(function(d, s, id) {
|
||||
var js, fjs = d.getElementsByTagName(s)[0];
|
||||
if (d.getElementById(id)) return;
|
||||
js = d.createElement(s); js.id = id;
|
||||
js.src = "//connect.facebook.net/pt_BR/sdk.js#xfbml=1&version=v2.9&appId=324630984267271";
|
||||
fjs.parentNode.insertBefore(js, fjs);
|
||||
}(document, 'script', 'facebook-jssdk'));</script>
|
||||
|
||||
|
||||
<script>
|
||||
window.onscroll = function() {
|
||||
var h = document.getElementsByTagName("header")[0];
|
||||
if ( window.pageYOffset > 8 ) {
|
||||
h.classList.add("elevation4");
|
||||
} else {
|
||||
h.classList.remove("elevation4");
|
||||
}
|
||||
var hbg = document.getElementById("canal_header_bg");
|
||||
if ( window.pageYOffset < 8 ) {
|
||||
hbg.classList.add("show");
|
||||
} else {
|
||||
hbg.classList.remove("show");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<header id="header" style="background-color: #0099EE">
|
||||
<div id="header_wrap" class="mw">
|
||||
<a class="headerbutton" id="backbutton" href="javascript:history.back();"><i class="material-icons">arrow_back</i></a>
|
||||
<a id="logo" href="/">meuguia.TV</a>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
||||
<div class="whitebg">
|
||||
<div class="content">
|
||||
|
||||
<div id="canal_header_bg" style="background-color: #0099EE"></div>
|
||||
<div id="canal_header" style="background-color: #0099EE">
|
||||
<div class="mw">
|
||||
<div class="logo_canal canal_axn"></div>
|
||||
<span>PROGRAMAÇÃO</span>
|
||||
<h1 class="devicepadding">AXN</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7504334276740439"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
width = window.innerWidth;
|
||||
|
||||
if (width >= 730) {
|
||||
// Leaderboard
|
||||
google_ad_slot = "2461297838";
|
||||
google_ad_width = 728;
|
||||
google_ad_height = 90;
|
||||
} else if ((width > 480) && (width < 730)) {
|
||||
// Banner
|
||||
google_ad_slot = "3358025652";
|
||||
google_ad_width = 468;
|
||||
google_ad_height = 60;
|
||||
} else if (width <= 480) {
|
||||
// Mobile
|
||||
google_ad_slot = "5087461176";
|
||||
google_ad_width = 320;
|
||||
google_ad_height = 50;
|
||||
}
|
||||
|
||||
document.write ('<div class="ad" style="width:'+google_ad_width+'px;">Publicidade:');
|
||||
document.write ('<ins class="adsbygoogle" style="display:inline-block;width:'+google_ad_width+'px;height:'+google_ad_height+'px" data-ad-client="ca-pub-7504334276740439" data-ad-slot="'+google_ad_slot+'"></ins>');
|
||||
document.write ('</div>');
|
||||
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
|
||||
</script>
|
||||
|
||||
<ul class="mw">
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="subheader devicepadding">Terça-feira, 21/11</li>
|
||||
|
||||
<!--
|
||||
<% if dia_atual != programa[:inicio].strftime("%d/%m") %>
|
||||
|
||||
<% if dia_atual != "" %>
|
||||
|
||||
<% if index == 6 %>
|
||||
<%= render "shared/adsense_middle" %>
|
||||
<% else %>
|
||||
<li class="divider"></li>
|
||||
<%end %>
|
||||
|
||||
<%end %>
|
||||
|
||||
<li class="subheader devicepadding"><%= dia_semana(programa[:inicio]) %></li>
|
||||
<% else %>
|
||||
|
||||
<% if index == 6 %>
|
||||
<%= render "shared/adsense_middle" %>
|
||||
<%end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% dia_atual = programa[:inicio].strftime("%d/%m") %> -->
|
||||
|
||||
<li>
|
||||
<!-- <a title="Hawaii Five-0 : T10 EP4 - Tiny Is the Flower, Yet It Scents the Grasses Around It" class="devicepadding" href="/programacao/programa/" > -->
|
||||
<a title="Hawaii Five-0 : T10 EP4 - Tiny Is the Flower, Yet It Scents the Grasses Around It" class="devicepadding" >
|
||||
<div class='lileft time'>18:20</div>
|
||||
<div class="licontent">
|
||||
<h2>Hawaii Five-0 : T10 EP4 - Tiny Is the Flower, Yet It Scents the Grasses Around It</h2>
|
||||
<h3>Drama</h3>
|
||||
</div>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
<% if dia_atual != programa[:inicio].strftime("%d/%m") %>
|
||||
|
||||
<% if dia_atual != "" %>
|
||||
|
||||
<% if index == 6 %>
|
||||
<%= render "shared/adsense_middle" %>
|
||||
<% else %>
|
||||
<li class="divider"></li>
|
||||
<%end %>
|
||||
|
||||
<%end %>
|
||||
|
||||
<li class="subheader devicepadding"><%= dia_semana(programa[:inicio]) %></li>
|
||||
<% else %>
|
||||
|
||||
<% if index == 6 %>
|
||||
<%= render "shared/adsense_middle" %>
|
||||
<%end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% dia_atual = programa[:inicio].strftime("%d/%m") %> -->
|
||||
|
||||
<li>
|
||||
<!-- <a title="Hawaii Five-0 : T10 EP5 - Don't Blame Ghosts and Spirits for One's Troubles; A Human Is Responsible" class="devicepadding" href="/programacao/programa/" > -->
|
||||
<a title="Hawaii Five-0 : T10 EP5 - Don't Blame Ghosts and Spirits for One's Troubles; A Human Is Responsible" class="devicepadding" >
|
||||
<div class='lileft time'>19:15</div>
|
||||
<div class="licontent">
|
||||
<h2>Hawaii Five-0 : T10 EP5 - Don't Blame Ghosts and Spirits for One's Troubles; A Human Is Responsible</h2>
|
||||
<h3>Drama</h3>
|
||||
</div>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="divider">
|
||||
|
||||
<div class="ad" style="width:300px; padding-bottom: 24px;">
|
||||
|
||||
Publicidade:
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7504334276740439"
|
||||
crossorigin="anonymous"></script>
|
||||
<!-- Medium Rectangle -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:inline-block;width:300px;height:250px"
|
||||
data-ad-client="ca-pub-7504334276740439"
|
||||
data-ad-slot="9046887482"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<!--
|
||||
<% if dia_atual != programa[:inicio].strftime("%d/%m") %>
|
||||
|
||||
<% if dia_atual != "" %>
|
||||
|
||||
<% if index == 6 %>
|
||||
<%= render "shared/adsense_middle" %>
|
||||
<% else %>
|
||||
<li class="divider"></li>
|
||||
<%end %>
|
||||
|
||||
<%end %>
|
||||
|
||||
<li class="subheader devicepadding"><%= dia_semana(programa[:inicio]) %></li>
|
||||
<% else %>
|
||||
|
||||
<% if index == 6 %>
|
||||
<%= render "shared/adsense_middle" %>
|
||||
<%end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% dia_atual = programa[:inicio].strftime("%d/%m") %> -->
|
||||
|
||||
<li>
|
||||
<!-- <a title="NCIS : T5 EP15 - In the Zone" class="devicepadding" href="/programacao/programa/" > -->
|
||||
<a title="NCIS : T5 EP15 - In the Zone" class="devicepadding" >
|
||||
<div class='lileft time'>20:10</div>
|
||||
<div class="licontent">
|
||||
<h2>NCIS : T5 EP15 - In the Zone</h2>
|
||||
<h3>Ação</h3>
|
||||
</div>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
<% if dia_atual != programa[:inicio].strftime("%d/%m") %>
|
||||
|
||||
<% if dia_atual != "" %>
|
||||
|
||||
<% if index == 6 %>
|
||||
<%= render "shared/adsense_middle" %>
|
||||
<% else %>
|
||||
<li class="divider"></li>
|
||||
<%end %>
|
||||
|
||||
<%end %>
|
||||
|
||||
<li class="subheader devicepadding"><%= dia_semana(programa[:inicio]) %></li>
|
||||
<% else %>
|
||||
|
||||
<% if index == 6 %>
|
||||
<%= render "shared/adsense_middle" %>
|
||||
<%end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% dia_atual = programa[:inicio].strftime("%d/%m") %> -->
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<footer>
|
||||
<div class="mw">
|
||||
<span class="rodape devicepadding">
|
||||
meuguia.TV 5.0.0 - <a href="/info/privacidade">Política de Privacidade</a>
|
||||
|
||||
<div class="product-social-links">
|
||||
<div style="margin-right: 4px;" class="fb-like" data-href="https://facebook.com/meuguiatv" data-layout="button_count" data-action="like" data-size="large" data-width="130" data-show-faces="false" data-share="false"></div>
|
||||
<a href="https://twitter.com/meuguiatv" class="twitter-follow-button" data-lang="pt" data-show-count="false" data-size="large">Seguir @meuguiatv</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-305350-4', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
105
sites/meuguia.tv/meuguia.tv.channels.xml
Normal file
105
sites/meuguia.tv/meuguia.tv.channels.xml
Normal file
|
@ -0,0 +1,105 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="AMC.br" site_id="MGM">AMC</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="AnimalPlanet.br" site_id="APL">Animal Planet</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Arte1.br" site_id="BQ5">Arte 1</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="AXN.br" site_id="AXN">AXN</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="BabyTV.uk" site_id="BAB">Baby TV</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Band.br" site_id="BAN">Band</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="BandNews.br" site_id="NEW">Band News</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="BandSports.br" site_id="BSP">Band Sports</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="BBCNewsNorthAmerica.uk" site_id="BBC">BBC World News</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Bis.br" site_id="MSH">Bis</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="BloombergTV.us" site_id="BIT">Bloomberg</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="BoaVontadeTV.br" site_id="LBV">Rede Boa Vontade</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Canal21.br" site_id="C21">Canal 21</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="CanalBrasil.br" site_id="CBR">Canal Brasil</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="CanaldoBoi.br" site_id="BOI">Canal do Boi</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="CanalFutura.br" site_id="FUT">Futura</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="CanalOff.br" site_id="OFF">OFF HD</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="CanalRural.br" site_id="RUR">Canal Rural</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="CanalViva.br" site_id="VIV">Viva</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="CartoonNetwork.br" site_id="CAR">Cartoon Network</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Cinemax.br" site_id="MNX">Cinemax</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Climatempo.br" site_id="CLI">Climatempo</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="CNN.us" site_id="CNN">CNN International</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Combate.br" site_id="135">Combate</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="ComedyCentral.br" site_id="CCE">Comedy Central</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="DiscoveryChannel.br" site_id="DIS">Discovery Channel</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="DiscoveryScience.br" site_id="DSC">Discovery Science</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="DiscoveryTheater.br" site_id="DHD">Discovery HD Theater</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="DiscoveryTurbo.br" site_id="DTU">Discovery Turbo</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="DiscoveryWorld.br" site_id="DIW">Discovery World</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="DisneyChannel.br" site_id="DNY">Disney Channel</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="DWDeutsch.de" site_id="DWL">Deutsche Welle</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="E.br" site_id="EET">E! Entertainment Television</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="ESPN.br" site_id="ESB">ESPN Brasil</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="ESPN.us" site_id="ESP">ESPN</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Eurochannel.uk" site_id="EUR">Eurochannel</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="FoxSports2.br" site_id="FS2">Fox Sports 2</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="FoxSports.br" site_id="FSP">Fox Sports</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="FX.br" site_id="CFX">FX</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Globo.br" site_id="GRD">Globo</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="GloboNews.br" site_id="GLN">Globo News</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Gloob.br" site_id="GOB">Gloob</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="GNT.br" site_id="GNT">GNT</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="HBO2.br" site_id="HB2">HBO 2</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="HBO.br" site_id="HBO">HBO</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="HBOFamily.br" site_id="HFA">HBO Family</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="HBOPlus.br" site_id="HPL">HBO Plus</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="HBOSignature.br" site_id="HFE">HBO Signature</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Lifetime.br" site_id="ANX">Lifetime</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Megapix.br" site_id="MPX">Megapix</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="MTV.br" site_id="MTV">MTV</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Multishow.br" site_id="MSW">Multishow</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="NationalGeographic.br" site_id="SUP">National Geographic</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="NHKWorldJapan.jp" site_id="NHK">NHK World</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Nickelodeon.br" site_id="NIC">Nickelodeon</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="NickJr.br" site_id="NJR">Nick Jr.</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="ParamountNetwork.br" site_id="PAR">Paramount Channel</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="PremiereClubes.br" site_id="121">Premiere Clubes</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="RaiItaliaAmerica.it" site_id="RAI">RAI International</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Record.br" site_id="REC">Record TV</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="RecordNews.br" site_id="RCN">Record News</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="RedeTV.br" site_id="RTV">Rede TV</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="RedeVida.br" site_id="VDA">Rede Vida</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="SBT.br" site_id="SBT">SBT</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Shoptime.br" site_id="SHO">Shoptime</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="SICInternacional.pt" site_id="SIC">SIC International</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="SonyChannel.br" site_id="SET">Sony</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Space.br" site_id="SPA">SPACE</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="SporTV2.br" site_id="SP2">SporTV 2</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="SporTV3.br" site_id="SP3">SporTV 3</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="SporTV.br" site_id="SPO">SporTV</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="StudioUniversal.br" site_id="HAL">Studio Universal</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Syfy.br" site_id="SCI">SyFy</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TBS.br" site_id="TBS">TBS</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TCM.br" site_id="TCM">TCM - Turner Classic</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TelecineAction.br" site_id="TC2">Telecine Action</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TelecineCult.br" site_id="TC5">Telecine Cult</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TelecineFun.br" site_id="TC6">Telecine Fun</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TelecinePipoca.br" site_id="TC4">Telecine Pipoca</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TelecinePremium.br" site_id="TC1">Telecine Premium</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TelecineTouch.br" site_id="TC3">Telecine Touch</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TerraViva.br" site_id="TVV">Terra Viva</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TLC.br" site_id="TRV">TLC</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TNT.br" site_id="TNT">TNT</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TNTSeries.br" site_id="TNS">TNT Séries</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="Tooncast.us" site_id="TOC">Tooncast</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TravelBoxBrazil.br" site_id="TRB">Travel Box Brazil</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TV5MondeLatinAmerica.fr" site_id="TV5">TV5 Monde</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVAparecida.br" site_id="TAP">TV Aparecida (aberta)</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVBrasil.br" site_id="TED">TV Brasil</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVCamara.br" site_id="CAM">TV Câmara</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVCancaoNova.br" site_id="CNV">Canção Nova</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVCulturaNacional.br" site_id="CUL">TV Cultura</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVEscola.br" site_id="ESC">TV Escola</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVEspanha.br" site_id="TVE">TV Espanha</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVGazeta.br" site_id="GAZ">TV Gazeta</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVJustica.br" site_id="JUS">TV Justiça</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVRaTimBum.br" site_id="RTB">TV Rá-tim-bum</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVSenado.br" site_id="SEN">TV Senado</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="UniversalTV.br" site_id="USA">Universal Channel</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="WarnerChannel.br" site_id="WBT">Warner Channel</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="WooHoo.br" site_id="WOO">Woohoo</channel>
|
||||
</channels>
|
101
sites/meuguia.tv/meuguia.tv.config.js
Normal file
101
sites/meuguia.tv/meuguia.tv.config.js
Normal file
|
@ -0,0 +1,101 @@
|
|||
const cheerio = require('cheerio')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const timezone = require('dayjs/plugin/timezone')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
|
||||
dayjs.extend(utc)
|
||||
dayjs.extend(timezone)
|
||||
dayjs.extend(customParseFormat)
|
||||
|
||||
module.exports = {
|
||||
site: 'meuguia.tv',
|
||||
days: 2,
|
||||
url({ channel }) {
|
||||
return `https://meuguia.tv/programacao/canal/${channel.site_id}`
|
||||
},
|
||||
parser({ content, date }) {
|
||||
const programs = []
|
||||
parseItems(content, date).forEach(item => {
|
||||
if (dayjs.utc(item.start).isSame(date, 'day')) {
|
||||
programs.push(item)
|
||||
}
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const channels = []
|
||||
const axios = require('axios')
|
||||
const baseUrl = 'https://meuguia.tv'
|
||||
|
||||
let seq = 0
|
||||
const queues = [baseUrl]
|
||||
while (true) {
|
||||
if (!queues.length) {
|
||||
break
|
||||
}
|
||||
const url = queues.shift()
|
||||
const content = await axios
|
||||
.get(url)
|
||||
.then(response => response.data)
|
||||
.catch(console.error)
|
||||
|
||||
if (content) {
|
||||
const [ $, items ] = getItems(content)
|
||||
if (seq === 0) {
|
||||
queues.push(...items.map(category => baseUrl + $(category).attr('href')))
|
||||
} else {
|
||||
items.forEach(item => {
|
||||
const href = $(item).attr('href')
|
||||
channels.push({
|
||||
lang: 'pt',
|
||||
site_id: href.substr(href.lastIndexOf('/') + 1),
|
||||
name: $(item).find('.licontent h2').text().trim()
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
seq++
|
||||
}
|
||||
|
||||
return channels
|
||||
}
|
||||
}
|
||||
|
||||
function getItems(content) {
|
||||
const $ = cheerio.load(content)
|
||||
return [$, $('div.mw ul li a').toArray()]
|
||||
}
|
||||
|
||||
function parseItems(content, date) {
|
||||
const result = []
|
||||
const $ = cheerio.load(content)
|
||||
|
||||
let lastDate
|
||||
for (const item of $('ul.mw li').toArray()) {
|
||||
const $item = $(item)
|
||||
if ($item.hasClass('subheader')) {
|
||||
lastDate = `${$item.text().split(', ')[1]}/${date.format('YYYY')}`
|
||||
} else if ($item.hasClass('divider')) {
|
||||
// ignore
|
||||
} else if (lastDate) {
|
||||
const data = { title: $item.find('a').attr('title').trim() }
|
||||
const ep = data.title.match(/T(\d+) EP(\d+)/)
|
||||
if (ep) {
|
||||
data.season = parseInt(ep[1])
|
||||
data.episode = parseInt(ep[2])
|
||||
}
|
||||
data.start = dayjs.tz(`${lastDate} ${$item.find('.time').text()}`, 'DD/MM/YYYY HH:mm', 'America/Sao_Paulo')
|
||||
result.push(data)
|
||||
}
|
||||
}
|
||||
// use stop time from next item
|
||||
if (result.length > 1) {
|
||||
for (let i = 0; i < result.length - 1; i++) {
|
||||
result[i].stop = result[i + 1].start
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
62
sites/meuguia.tv/meuguia.tv.test.js
Normal file
62
sites/meuguia.tv/meuguia.tv.test.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
// npm run channels:parse -- --config=./sites/meuguia.tv/meuguia.tv.config.js --output=./sites/meuguia.tv/meuguia.tv.channels.xml
|
||||
// npm run grab -- --site=meuguia.tv
|
||||
|
||||
const { parser, url } = require('./meuguia.tv.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
|
||||
dayjs.extend(utc)
|
||||
|
||||
const date = dayjs.utc('2023-11-21').startOf('d')
|
||||
const channel = {
|
||||
site_id: 'AXN',
|
||||
xmltv_id: 'AXN.id'
|
||||
}
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel })).toBe('https://meuguia.tv/programacao/canal/AXN')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
||||
const result = parser({ content, channel, date }).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
if (p.stop) {
|
||||
p.stop = p.stop.toJSON()
|
||||
}
|
||||
return p
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
title: 'Hawaii Five-0 : T10 EP4 - Tiny Is the Flower, Yet It Scents the Grasses Around It',
|
||||
start: '2023-11-21T21:20:00.000Z',
|
||||
stop: '2023-11-21T22:15:00.000Z',
|
||||
season: 10,
|
||||
episode: 4
|
||||
},
|
||||
{
|
||||
title: 'Hawaii Five-0 : T10 EP5 - Don\'t Blame Ghosts and Spirits for One\'s Troubles; A Human Is Responsible',
|
||||
start: '2023-11-21T22:15:00.000Z',
|
||||
stop: '2023-11-21T23:10:00.000Z',
|
||||
season: 10,
|
||||
episode: 5
|
||||
},
|
||||
{
|
||||
title: 'NCIS : T5 EP15 - In the Zone',
|
||||
start: '2023-11-21T23:10:00.000Z',
|
||||
season: 5,
|
||||
episode: 15
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
date,
|
||||
channel,
|
||||
content: '<!DOCTYPE html><html><head></head><body></body></html>'
|
||||
})
|
||||
expect(result).toMatchObject([])
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue