mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 08:30:06 -04:00
Update tvguide.com guide.
Test: ```sh npm test --- tvguide.com > test > run-script-os tvguide.com > test:win32 > SET "TZ=Pacific/Nauru" && npx jest --runInBand tvguide.com PASS sites/tvguide.com/tvguide.com.test.js √ can generate valid url (4 ms) √ can parse response (5 ms) √ can handle empty guide (1 ms) Test Suites: 1 passed, 1 total Tests: 3 passed, 3 total Snapshots: 0 total Time: 0.567 s, estimated 1 s Ran all test suites matching /tvguide.com/i. ``` Grab: ```sh npm run grab --- --site=tvguide.com > grab > npx tsx scripts/commands/epg/grab.ts --site=tvguide.com starting... config: output: guide.xml maxConnections: 1 gzip: false site: tvguide.com loading channels... found 1 channel(s) run #1: [1/2] tvguide.com (es) - UnivisionEast.us - Jan 12, 2025 (33 programs) [2/2] tvguide.com (es) - UnivisionEast.us - Jan 13, 2025 (25 programs) saving to "guide.xml"... done in 00h 00m 05s ``` Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
parent
3c19dd1725
commit
6def709352
11 changed files with 311 additions and 463 deletions
7
sites/tvguide.com/__data__/content.html
Normal file
7
sites/tvguide.com/__data__/content.html
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,159 +0,0 @@
|
|||
{
|
||||
"data": {
|
||||
"duration": "1440",
|
||||
"providerId": "9100001138",
|
||||
"startTime": "1667088000",
|
||||
"items": [
|
||||
{
|
||||
"channel": {
|
||||
"fullName": "CBS",
|
||||
"name": "CBS",
|
||||
"number": null,
|
||||
"sourceId": 9200018514,
|
||||
"legacySourceId": 5943,
|
||||
"networkName": "CBS",
|
||||
"networkId": 1,
|
||||
"logo": "/provider/1/4/1-685389140.png"
|
||||
},
|
||||
"programSchedules": [
|
||||
{
|
||||
"airingAttrib": 524817,
|
||||
"catId": 2,
|
||||
"startTime": 1667088000,
|
||||
"endTime": 1667097000,
|
||||
"programId": 6060455538,
|
||||
"title": "NWSL Soccer Playoff",
|
||||
"rating": null,
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060455538/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 558098,
|
||||
"catId": 5,
|
||||
"startTime": 1667097000,
|
||||
"endTime": 1667098800,
|
||||
"programId": 6060248599,
|
||||
"title": "Young Sheldon",
|
||||
"rating": "TV-PG",
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060248599/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 524288,
|
||||
"catId": 5,
|
||||
"startTime": 1667098800,
|
||||
"endTime": 1667102400,
|
||||
"programId": 1030182907,
|
||||
"title": "Local Programming",
|
||||
"rating": "TV-G",
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 524288,
|
||||
"catId": 5,
|
||||
"startTime": 1667102400,
|
||||
"endTime": 1667120400,
|
||||
"programId": 1030182907,
|
||||
"title": "Local Programming",
|
||||
"rating": "TV-G",
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 524288,
|
||||
"catId": 5,
|
||||
"startTime": 1667120400,
|
||||
"endTime": 1667134800,
|
||||
"programId": 1030182907,
|
||||
"title": "Local Programming",
|
||||
"rating": "TV-G",
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 557588,
|
||||
"catId": 4,
|
||||
"startTime": 1667134800,
|
||||
"endTime": 1667140200,
|
||||
"programId": 6060613824,
|
||||
"title": "CBS Sunday Morning",
|
||||
"rating": "TV-PG",
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613824/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 557588,
|
||||
"catId": 4,
|
||||
"startTime": 1667140200,
|
||||
"endTime": 1667143800,
|
||||
"programId": 6060613861,
|
||||
"title": "Face the Nation",
|
||||
"rating": "TV-PG",
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613861/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 524288,
|
||||
"catId": 5,
|
||||
"startTime": 1667143800,
|
||||
"endTime": 1667145600,
|
||||
"programId": 1030182907,
|
||||
"title": "Local Programming",
|
||||
"rating": "TV-G",
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 558097,
|
||||
"catId": 2,
|
||||
"startTime": 1667145600,
|
||||
"endTime": 1667149200,
|
||||
"programId": 6003572942,
|
||||
"title": "The NFL Today",
|
||||
"rating": null,
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6003572942/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 524817,
|
||||
"catId": 2,
|
||||
"startTime": 1667149200,
|
||||
"endTime": 1667160000,
|
||||
"programId": 6000129053,
|
||||
"title": "NFL Football",
|
||||
"rating": null,
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6000129053/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 524817,
|
||||
"catId": 2,
|
||||
"startTime": 1667160000,
|
||||
"endTime": 1667170800,
|
||||
"programId": 6000129053,
|
||||
"title": "NFL Football",
|
||||
"rating": null,
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6000129053/web"
|
||||
},
|
||||
{
|
||||
"airingAttrib": 558100,
|
||||
"catId": 4,
|
||||
"startTime": 1667170800,
|
||||
"endTime": 1667174400,
|
||||
"programId": 6003572892,
|
||||
"title": "60 Minutes",
|
||||
"rating": "TV-PG",
|
||||
"programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6003572892/web"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514"
|
||||
},
|
||||
"prev": {
|
||||
"href": null
|
||||
},
|
||||
"next": {
|
||||
"href": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514&offset=1667089440&limit=1667088000"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"componentName": null,
|
||||
"componentDisplayName": null,
|
||||
"componentType": null
|
||||
}
|
||||
}
|
1
sites/tvguide.com/__data__/content1.json
Normal file
1
sites/tvguide.com/__data__/content1.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"data":{"duration":"240","providerId":"9100001138","startTime":"1736640000","items":[{"channel":{"fullName":"CBS National Schedule","name":"CBS","number":null,"sourceId":9200018514,"legacySourceId":null,"networkName":"CBS","networkId":1,"logo":"/provider/8/4/8-9200018514.png"},"programSchedules":[{"airingAttrib":524304,"catId":5,"startTime":1736643600,"endTime":1736647200,"programId":9000351140,"title":"FBI: International","rating":null,"programDetails":"https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000351140/web"},{"airingAttrib":524304,"catId":5,"startTime":1736647200,"endTime":1736650800,"programId":9000317198,"title":"FBI: Most Wanted","rating":null,"programDetails":"https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000317198/web"},{"airingAttrib":524308,"catId":5,"startTime":1736650800,"endTime":1736654400,"programId":9000415495,"title":"48 Hours","rating":null,"programDetails":"https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000415495/web"}]}]},"links":{"self":{"href":"https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736640000&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc"},"prev":{"href":"https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736625600&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc"},"next":{"href":"https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736654400&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc"}},"meta":{"componentName":null,"componentDisplayName":null,"componentType":null}}
|
1
sites/tvguide.com/__data__/content2.json
Normal file
1
sites/tvguide.com/__data__/content2.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"data":{"duration":"240","providerId":"9100001138","startTime":"1736654400","items":[{"channel":{"fullName":"CBS National Schedule","name":"CBS","number":null,"sourceId":9200018514,"legacySourceId":null,"networkName":"CBS","networkId":1,"logo":"/provider/8/4/8-9200018514.png"},"programSchedules":[{"airingAttrib":524288,"catId":5,"startTime":1736654400,"endTime":1736661600,"programId":9000000408,"title":"Local Programs","rating":null,"programDetails":"https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000000408/web"},{"airingAttrib":524288,"catId":5,"startTime":1736661600,"endTime":1736668800,"programId":9000000408,"title":"Local Programs","rating":null,"programDetails":"https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000000408/web"}]}]},"links":{"self":{"href":"https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736654400&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc"},"prev":{"href":"https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736640000&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc"},"next":{"href":"https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736668800&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc"}},"meta":{"componentName":null,"componentDisplayName":null,"componentType":null}}
|
|
@ -1,20 +1 @@
|
|||
{
|
||||
"errors": [
|
||||
{
|
||||
"code": 400,
|
||||
"reason": "Not Found",
|
||||
"message": "Bad Request"
|
||||
}
|
||||
],
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"componentName": null,
|
||||
"componentDisplayName": null,
|
||||
"componentType": null
|
||||
}
|
||||
}
|
||||
|
||||
[]
|
|
@ -1,91 +0,0 @@
|
|||
{
|
||||
"data": {
|
||||
"item": {
|
||||
"id": 6060613824,
|
||||
"name": "CBS Sunday Morning",
|
||||
"parentId": 1030037352,
|
||||
"description": "The Backseat Lovers perform on the \"Saturday Sessions\"; and Daisy Ryan guests on \"The Dish.\" Also: comedian Fortune Feimster.",
|
||||
"isSportsEvent": false,
|
||||
"rating": null,
|
||||
"tvRating": "TV-PG",
|
||||
"episodeTitle": "10-30-2022",
|
||||
"releaseYear": 2022,
|
||||
"seoUrl": null,
|
||||
"categoryId": 4,
|
||||
"subCategoryId": 0,
|
||||
"episodeAirDate": "/Date(1667088000000)/",
|
||||
"episodeNumber": 248,
|
||||
"seasonNumber": 40,
|
||||
"mcoId": 1030037352,
|
||||
"title": "CBS Sunday Morning",
|
||||
"type": "show",
|
||||
"slug": "cbs-sunday-morning",
|
||||
"typeId": 1,
|
||||
"images": [
|
||||
{
|
||||
"id": "1-10744155154",
|
||||
"provider": "Tivo",
|
||||
"imageType": {
|
||||
"typeId": 1,
|
||||
"typeName": "showcard",
|
||||
"providerTypeName": "Vertical Showcard (3:4)"
|
||||
},
|
||||
"bucketType": "catalog",
|
||||
"bucketPath": "/provider/1/1/1-10744155154.jpg",
|
||||
"filename": "",
|
||||
"width": 2160,
|
||||
"height": 2880
|
||||
},
|
||||
{
|
||||
"id": "1-10744155148",
|
||||
"provider": "Tivo",
|
||||
"imageType": {
|
||||
"typeId": 5,
|
||||
"typeName": "key art",
|
||||
"providerTypeName": "Key Art"
|
||||
},
|
||||
"bucketType": "catalog",
|
||||
"bucketPath": "/provider/1/5/1-10744155148.jpg",
|
||||
"filename": "",
|
||||
"width": 3000,
|
||||
"height": 1688
|
||||
}
|
||||
],
|
||||
"genres": [
|
||||
{
|
||||
"id": 19,
|
||||
"name": "Talk & Interview",
|
||||
"genres": [
|
||||
"interview",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 99,
|
||||
"name": "Other",
|
||||
"genres": [
|
||||
"newsmagazine",
|
||||
"profile"
|
||||
]
|
||||
}
|
||||
],
|
||||
"duration": null,
|
||||
"metacriticSummary": {
|
||||
"url": null,
|
||||
"score": 0,
|
||||
"reviewCount": 0
|
||||
},
|
||||
"video": null
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613824/web"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"componentName": null,
|
||||
"componentDisplayName": null,
|
||||
"componentType": null
|
||||
}
|
||||
}
|
1
sites/tvguide.com/__data__/program1.json
Normal file
1
sites/tvguide.com/__data__/program1.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"data":{"item":{"id":9000351140,"name":"FBI: International","isSportsEvent":false,"tvRating":"TV-14","categoryId":5,"subCategoryId":0,"episodeNumber":12,"mcoId":1060026058,"title":"FBI: International","type":"show","slug":"fbi-international","typeId":1,"images":[{"id":"2-da3822c4eec5e6100c9b6ff2ac667213","provider":"2","imageType":{"typeId":1,"typeName":"showcard","providerTypeName":"showcard"},"bucketType":"catalog","bucketPath":"/provider/2/13/2-da3822c4eec5e6100c9b6ff2ac667213.jpg","filename":"","width":3840,"height":2160},{"id":"2-d7bbccddf55702be0028e4c7b37d91d2","provider":"2","imageType":{"typeId":2,"typeName":"poster art","providerTypeName":"poster art"},"bucketType":"catalog","bucketPath":"/provider/2/2/2-d7bbccddf55702be0028e4c7b37d91d2.jpg","filename":"","width":1400,"height":2100}],"genres":[{"id":3,"name":"Action & Adventure","genres":["Action","Adventure"]},{"id":5,"name":"Suspense","genres":["Crime","Mystery","Thriller"]},{"id":1,"name":"Drama","genres":["Drama"]}],"metacriticSummary":null,"video":null,"parentId":1060026058,"description":"The owner of a prominent cyber security company is murdered in Copenhagen just before a massive data leak surfaces online, leading the NSA to ask the team for assistance in catching the killer and leaker before more data is revealed.","rating":"L","episodeTitle":"Gift","releaseYear":2024,"seoUrl":null,"episodeAirDate":"/Date(1715644800000)/","seasonNumber":3,"duration":null}},"links":{"self":{"href":"https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000351140/web"}},"meta":{"componentName":null,"componentDisplayName":null,"componentType":null}}
|
1
sites/tvguide.com/__data__/program2.json
Normal file
1
sites/tvguide.com/__data__/program2.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"data":{"item":{"id":9000000408,"name":"Local Programs","isSportsEvent":false,"tvRating":"TV-14","categoryId":5,"subCategoryId":0,"episodeNumber":null,"mcoId":null,"title":null,"type":null,"slug":null,"typeId":null,"images":[],"genres":[],"metacriticSummary":null,"video":null,"parentId":null,"description":"Local programming information.","rating":"L","episodeTitle":"Local Programs","releaseYear":null,"seoUrl":null,"episodeAirDate":null,"seasonNumber":null,"duration":null}},"links":{"self":{"href":"https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000000408/web"}},"meta":{"componentName":null,"componentDisplayName":null,"componentType":null}}
|
|
@ -1,89 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="" site_id="9100001138#9233000035">Travel Channel (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="" site_id="9100001138#9233001847">MyNetworkTV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="" site_id="9100001138#9233011874">ABC</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="AEEast.us" site_id="9100001138#9200004889">A&E Network (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="AMCEast.us" site_id="9100001138#9233011832">AMC (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="AnimalPlanetEast.us" site_id="9100001138#9200018479">Animal Planet (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BBCAmericaEast.us" site_id="9100001138#9200014701">BBC America (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BETEast.us" site_id="9100001138#9233005931">Black Entertainment Television (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BravoEast.us" site_id="9100001138#9200002886">Bravo (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CartoonNetworkEast.us" site_id="9100001138#9200004848">Cartoon Network (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CBSEast.us" site_id="9100001138#9200018514">CBS</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CinemaxEast.us" site_id="9100001138#9233009829">Cinemax (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CMTEast.us" site_id="9100001138#9200012085">CMT (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CNBC.us" site_id="9100001138#9200009413">Consumer News & Business Channel</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CNN.us" site_id="9100001138#9233013812">Cable News Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ComedyCentralEast.us" site_id="9100001138#9200000657">Comedy Central (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DiscoveryChannelEast.us" site_id="9100001138#9233004102">The Discovery Channel (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DiscoveryLife.us" site_id="9100001138#9233013857">Discovery Life Channel</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DisneyChannelEast.us" site_id="9100001138#9200018475">The Disney Channel (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DisneyXDEast.us" site_id="9100001138#9200004852">Disney XD (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="EEast.us" site_id="9100001138#9200012343">E! Entertainment Television (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ESPN2.us" site_id="9100001138#9200012351">ESPN2</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ESPN.us" site_id="9100001138#9200006937">ESPN</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ESPNU.us" site_id="9100001138#9233011350">ESPNU</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FanDuelTV.us" site_id="9100001138#9200012412">FanDuel TV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FlixEast.us" site_id="9100001138#9233000217">Flix (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoodNetworkEast.us" site_id="9100001138#9233009448">Food Network (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoxEast.us" site_id="9100001138#9233002271">FOX</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoxNewsChannel.us" site_id="9100001138#9233000410">Fox News Channel (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoxSports1.us" site_id="9100001138#9233008440">Fox Sports 1</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FreeformEast.us" site_id="9100001138#9200006942">Freeform (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FuseEast.us" site_id="9100001138#9233000028">Fuse (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FXEast.us" site_id="9100001138#9200006932">FX (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FXMovieChannel.us" site_id="9100001138#9233013967">FX Movie Channel</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FXXEast.us" site_id="9100001138#9200018644">FXX (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FYIEast.us" site_id="9100001138#9200020460">FYI</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="GameShowNetworkEast.us" site_id="9100001138#9200019858">GSN (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="GolfChannel.us" site_id="9100001138#9233005443">The Golf Channel</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HallmarkChannelEast.us" site_id="9100001138#9200016034">Hallmark Channel (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBO2East.us" site_id="9100001138#9233003524">HBO 2 (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBOEast.us" site_id="9100001138#9200004886">HBO (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBOSignatureEast.us" site_id="9100001138#9233008160">HBO Signature (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HGTVEast.us" site_id="9100001138#9233004104">Home & Garden Television (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HistoryEast.us" site_id="9100001138#9233008002">History (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="IFCEast.us" site_id="9100001138#9200004303">IFC (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="InvestigationDiscoveryEast.us" site_id="9100001138#9200002243">Investigation Discovery</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="IONTVEast.us" site_id="9100001138#9233011910">ION East Cable/Dish</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="LifetimeEast.us" site_id="9100001138#9200020452">Lifetime Television (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="LifetimeMoviesEast.us" site_id="9100001138#9233009825">Lifetime Movies (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="LifetimeRealWomen.us" site_id="9100001138#9233001621">Lifetime Real Women</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MagnoliaNetworkEast.us" site_id="9100001138#9200012415">Magnolia Network [East]</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MoreMaxEast.us" site_id="9100001138#9233015766">More Max (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MSNBC.us" site_id="9100001138#9233006803">msnbc</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MTVEast.us" site_id="9100001138#9200014754">MTV (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NationalGeographicEast.us" site_id="9100001138#9233002310">National Geographic Channel</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NBCEast.us" site_id="9100001138#9233009876">NBC</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NewsNationEast.us" site_id="9100001138#9233013251">NewsNation SDTV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NickelodeonEast.us" site_id="9100001138#9200006939">Nickelodeon (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="OWNEast.us" site_id="9100001138#9200002736">The Oprah Winfrey Network (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="OxygenEast.us" site_id="9100001138#9200004949">Oxygen (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ParamountNetworkEast.us" site_id="9100001138#9233013810">Paramount Network (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="PBSEast.us" site_id="9100001138#9233004141">PBS</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="PopEast.us" site_id="9100001138#9200020464">Pop (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="QVC.us" site_id="9100001138#9200002891">Quality Value Convenience Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="Reelz.us" site_id="9100001138#9200011769">ReelzChannel</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="Science.us" site_id="9100001138#9200019847">Science</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="Showtime2East.us" site_id="9100001138#9200018178">Showtime 2 (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ShowtimeEast.us" site_id="9100001138#9200016599">Showtime (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="SmithsonianChannelEast.us" site_id="9100001138#9233002112">Smithsonian Channel (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEast.us" site_id="9100001138#9233013809">Starz (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEncoreEast.us" site_id="9100001138#9200009649">STARZ ENCORE (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="SundanceTVEast.us" site_id="9100001138#9233001687">SundanceTV (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="SyfyEast.us" site_id="9100001138#9200004316">Syfy (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TBSEast.us" site_id="9100001138#9233000403">TBS Superstation (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TCMEast.us" site_id="9100001138#9200017928">Turner Classic Movies</channel>
|
||||
<channel site="tvguide.com" lang="es" xmltv_id="TelemundoEast.us" site_id="9100001138#9200011857">Telemundo Network (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TheCW.us" site_id="9100001138#9233011398">The CW</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TheMovieChannelEast.us" site_id="9100001138#9233015305">The Movie Channel (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TLCEast.us" site_id="9100001138#9233004112">The Learning Channel (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TNTEast.us" site_id="9100001138#9233011830">Turner Network Television (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="truTVEast.us" site_id="9100001138#9200009547">truTV (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TVLandEast.us" site_id="9100001138#9233005468">TV Land (East)</channel>
|
||||
<channel site="tvguide.com" lang="es" xmltv_id="UnivisionEast.us" site_id="9100001138#9200000867">Univisión Network (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="USANetworkEast.us" site_id="9100001138#9233004106">USA Network (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="VH1East.us" site_id="9100001138#9233000037">VH1 (East)</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="WeTVEast.us" site_id="9100001138#9200018188">Women's Entertainment Network (East)</channel>
|
||||
</channels>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="" site_id="9200009636">Great American Family</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="" site_id="9233001847">MyNetworkTV National</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="" site_id="9233010939">Hallmark Family</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="5StarMaxEast.us" site_id="9233011931">5StarMax</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ABCEast.us" site_id="9233011874">ABC Network Feed</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ACCNetwork.us" site_id="9200017734">ACC Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ActionMaxEast.us" site_id="9200016592">ActionMax</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="AEEast.us" site_id="9200004889">A&E</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="AMCEast.us" site_id="9233011832">AMC</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="AmericanHeroesChannel.us" site_id="9233015768">American Heroes</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="AnimalPlanetEast.us" site_id="9200018479">Animal Planet</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BBCAmericaEast.us" site_id="9200014701">BBC America</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BBCNewsNorthAmerica.uk" site_id="9200004927">BBC News</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BETEast.us" site_id="9233005931">BET</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BETHerEast.us" site_id="9200020665">BET Her</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BigTenNetwork.us" site_id="9200004533">Big Ten Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BloombergTV.us" site_id="9233015798">Bloomberg Television</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="Boomerang.us" site_id="9233015844">Boomerang</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="BravoEast.us" site_id="9200002886">Bravo</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CartoonNetworkEast.us" site_id="9200004848">Cartoon Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CBSEast.us" site_id="9200018514">CBS National</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CBSSportsNetworkUSA.us" site_id="9233013235">CBS Sports Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CinemaxEast.us" site_id="9233009829">Cinemax</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CMTEast.us" site_id="9200012085">CMT</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CNBC.us" site_id="9200009413">CNBC</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CNN.us" site_id="9233013812">CNN</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ComedyCentralEast.us" site_id="9200000657">Comedy Central</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CookingChannel.us" site_id="9200000016">Cooking</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CrimePlusInvestigation.us" site_id="9233003673">Crime & Investigation Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="CSPAN.us" site_id="9233007144">C-SPAN</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DestinationAmerica.us" site_id="9200009245">Destination America</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DiscoveryChannelEast.us" site_id="9233004102">Discovery</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DiscoveryFamily.us" site_id="9200004290">Discovery Family</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DiscoveryLife.us" site_id="9233013857">Discovery Life</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DisneyChannelEast.us" site_id="9200018475">Disney</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DisneyJuniorEast.us" site_id="9233009788">Disney Junior</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="DisneyXDEast.us" site_id="9200004852">Disney XD</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="EEast.us" site_id="9200012343">E!</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ESPN2.us" site_id="9200012351">ESPN2</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ESPN.us" site_id="9200006937">ESPN</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ESPNews.us" site_id="9200006950">ESPN News</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ESPNU.us" site_id="9233011350">ESPNU</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FanDuelTV.us" site_id="9200012412">FanDuel TV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FlixEast.us" site_id="9233000217">Flix</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoodNetworkEast.us" site_id="9233009448">Food Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoxBusinessNetwork.us" site_id="9200009124">Fox Business Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoxEast.us" site_id="9233002271">FOX</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoxNewsChannel.us" site_id="9233000410">Fox News</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoxSports1.us" site_id="9233008440">FOX Sports 1</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FoxSports2.us" site_id="9200009884">FOX Sports 2</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FreeformEast.us" site_id="9200006942">Freeform</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FuseEast.us" site_id="9233011488">Fuse HD</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FXEast.us" site_id="9200006932">FX</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FXMovieChannel.us" site_id="9233013967">FX Movie</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FXXEast.us" site_id="9200018644">FXX</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="FYIEast.us" site_id="9200020460">FYI</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="GameShowNetworkEast.us" site_id="9200019858">Game Show Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="GolfChannel.us" site_id="9233005443">Golf</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HallmarkChannelEast.us" site_id="9200016034">Hallmark</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HallmarkMoviesMysteriesEast.us" site_id="9233013351">Hallmark Mystery</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBO2East.us" site_id="9233003524">HBO 2</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBOComedyEast.us" site_id="9200006981">HBO Comedy</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBOEast.us" site_id="9200004886">HBO</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBOFamilyEast.us" site_id="9200004595">HBO Family</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBOSignatureEast.us" site_id="9233008160">HBO Signature</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HBOZoneEast.us" site_id="9233009866">HBO Zone</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HGTVEast.us" site_id="9233004104">HGTV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HistoryEast.us" site_id="9233008002">History</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="HLN.us" site_id="9200016601">HLN</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="IFCEast.us" site_id="9200004303">IFC</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="InvestigationDiscoveryEast.us" site_id="9200002243">Investigation Discovery</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="IONTVEast.us" site_id="9233011910">ION</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="LifetimeEast.us" site_id="9200020452">Lifetime</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="LifetimeMoviesEast.us" site_id="9233009825">LMN</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="LogoEast.us" site_id="9233013354">LOGO</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MagnoliaNetworkEast.us" site_id="9200012415">MAGNOLIA Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MGMHD.us" site_id="9200009335">MGM+ HD</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MGMPlusDriveIn.us" site_id="9200006851">MGM+ Drive-In</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MGMPlusHitsEast.us" site_id="9233013634">MGM+ Hits HD</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MGMPlusMarquee.us" site_id="9200020594">MGM+ Marquee HD</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MLBNetwork.us" site_id="9200009223">MLB Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MoreMaxEast.us" site_id="9233015766">MoreMax</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MotorTrend.us" site_id="9233003479">Motor Trend Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MovieMaxEast.us" site_id="9233000532">MovieMax</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MSNBC.us" site_id="9233006803">MSNBC</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MTV2East.us" site_id="9200000872">MTV2</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="MTVEast.us" site_id="9200014754">MTV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NationalGeographicEast.us" site_id="9233002310">National Geographic</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NationalGeographicWildEast.us" site_id="9200004683">National Geographic Wild</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NBATV.us" site_id="9200000070">NBA TV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NBCEast.us" site_id="9233009876">NBC National</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NewsNationEast.us" site_id="9233013251">NewsNation</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NFLNetwork.us" site_id="9200004330">NFL Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NHLNetwork.us" site_id="9233009455">NHL Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NickelodeonEast.us" site_id="9200006939">Nickelodeon</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NickJrEast.us" site_id="9233007153">Nick Jr.</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="NicktoonsEast.us" site_id="9200020469">Nicktoons</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="OutdoorChannel.us" site_id="9233003538">Outdoor</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="OuterMaxEast.us" site_id="9200014841">OuterMax</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="Ovation.us" site_id="9233011240">Ovation</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="OWNEast.us" site_id="9200002736">OWN</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="OxygenEast.us" site_id="9200004949">Oxygen</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ParamountNetworkEast.us" site_id="9233013810">Paramount Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="PBSEast.us" site_id="9233004141">PBS HD</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="PopEast.us" site_id="9200020464">Pop Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="Reelz.us" site_id="9200011769">Reelz</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="Science.us" site_id="9200019847">Science</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="SECNetwork.us" site_id="9233008517">SEC Network</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="Showtime2East.us" site_id="9200018178">SHOWTIME 2</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ShowtimeEast.us" site_id="9200016599">Paramount+ with Showtime</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ShowtimeExtremeEast.us" site_id="9200004879">SHOWTIME EXTREME</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ShowtimeFamilyZoneEast.us" site_id="9200000968">SHOWTIME FAMILY ZONE</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ShowtimeNextEast.us" site_id="9200016686">SHOWTIME NEXT</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ShowtimeShowcaseEast.us" site_id="9233003805">SHOWTIME SHOWCASE</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ShowtimeWomenEast.us" site_id="9200002975">SHOWTIME WOMEN</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ShoxBetEast.us" site_id="9233017018">SHOxBET</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="SmithsonianChannelEast.us" site_id="9233002112">Smithsonian</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzCinemaEast.us" site_id="9233008357">STARZ Cinema</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzComedyEast.us" site_id="9233003558">STARZ Comedy</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEast.us" site_id="9233013809">STARZ</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEdgeEast.us" site_id="9233011247">STARZ Edge</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEncoreActionEast.us" site_id="9233005667">STARZ ENCORE Action</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEncoreBlackEast.us" site_id="9200001097">STARZ ENCORE Black</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEncoreClassicEast.us" site_id="9200003144">STARZ ENCORE Classic</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEncoreEast.us" site_id="9200009649">STARZ ENCORE</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEncoreFamilyEast.us" site_id="9200011867">STARZ ENCORE Family</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEncoreSuspenseEast.us" site_id="9200011866">STARZ ENCORE Suspense</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzEncoreWesternsEast.us" site_id="9233008131">STARZ ENCORE Westerns</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzInBlackEast.us" site_id="9200011898">STARZ InBlack</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="StarzKidsFamilyEast.us" site_id="9200006977">STARZ Kids & Family</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="SundanceTVEast.us" site_id="9233001687">Sundance TV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="SyfyEast.us" site_id="9200004316">Syfy</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TBSEast.us" site_id="9233000403">tbs</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TCMEast.us" site_id="9200017928">Turner Classic Movies</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TeenNickEast.us" site_id="9200006974">TeenNick</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TelemundoEast.us" site_id="9200011927">Telemundo</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TennisChannel.us" site_id="9200017917">The Tennis</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TheCW.us" site_id="9233011398">CW Network National</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TheMovieChannelEast.us" site_id="9233015305">The Movie</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TheMovieChannelXtraEast.us" site_id="9233011536">The Movie Xtra</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TheWeatherChannel.us" site_id="9233013815">The Weather</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="ThrillerMaxEast.us" site_id="9200000856">ThrillerMax</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TLCEast.us" site_id="9233004112">TLC</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TNTEast.us" site_id="9233011830">TNT</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TravelChannelEast.us" site_id="9233000035">Travel</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="truTVEast.us" site_id="9200009547">truTV</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="TVLandEast.us" site_id="9233005468">TV Land</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="UniversalKidsEast.us" site_id="9233003660">Universal Kids</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="USANetworkEast.us" site_id="9233004106">USA</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="VH1East.us" site_id="9233000037">VH1</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="VICETV.us" site_id="9233002242">VICE</channel>
|
||||
<channel site="tvguide.com" lang="en" xmltv_id="WeTVEast.us" site_id="9200018188">WE tv</channel>
|
||||
<channel site="tvguide.com" lang="es" xmltv_id="UnivisionEast.us" site_id="9200000867">Univision</channel>
|
||||
</channels>
|
||||
|
|
|
@ -2,97 +2,113 @@ const axios = require('axios')
|
|||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const timezone = require('dayjs/plugin/timezone')
|
||||
const doFetch = require('@ntlab/sfetch')
|
||||
const debug = require('debug')('site:tvguide.com')
|
||||
|
||||
dayjs.extend(utc)
|
||||
dayjs.extend(timezone)
|
||||
|
||||
doFetch.setDebugger(debug).setCheckResult(false)
|
||||
|
||||
const providerId = '9100001138'
|
||||
const maxDuration = 240
|
||||
const segments = 1440 / maxDuration
|
||||
|
||||
module.exports = {
|
||||
site: 'tvguide.com',
|
||||
days: 2,
|
||||
url: function ({ date, channel }) {
|
||||
const [providerId, channelSourceIds] = channel.site_id.split('#')
|
||||
const url = `https://internal-prod.apigee.fandom.net/v1/xapi/tvschedules/tvguide/${providerId}/web?start=${date
|
||||
.startOf('d')
|
||||
.unix()}&duration=1440&channelSourceIds=${channelSourceIds}`
|
||||
|
||||
return url
|
||||
request: {
|
||||
cache: {
|
||||
ttl: 24 * 60 * 60 * 1000 // 1 day
|
||||
}
|
||||
},
|
||||
async parser({ content }) {
|
||||
async url({ date, segment = 1 }) {
|
||||
const params = []
|
||||
if (module.exports.apiKey === undefined) {
|
||||
module.exports.apiKey = await module.exports.fetchApiKey()
|
||||
debug('Got api key', module.exports.apiKey)
|
||||
}
|
||||
if (date) {
|
||||
if (segment > 1) {
|
||||
date = date.add((segment - 1) * maxDuration, 'm')
|
||||
}
|
||||
params.push(`start=${date.unix()}`, `duration=${maxDuration}`)
|
||||
}
|
||||
params.push(`apiKey=${module.exports.apiKey}`)
|
||||
|
||||
return date ?
|
||||
`https://backend.tvguide.com/tvschedules/tvguide/${providerId}/web?${params.join('&')}` :
|
||||
`https://backend.tvguide.com/tvschedules/tvguide/serviceprovider/${providerId}/sources/web?${params.join('&')}`
|
||||
},
|
||||
async parser({ content, date, channel }) {
|
||||
const programs = []
|
||||
const items = parseItems(content)
|
||||
for (let item of items) {
|
||||
const details = await loadProgramDetails(item)
|
||||
programs.push({
|
||||
title: item.title,
|
||||
sub_title: details.episodeTitle,
|
||||
description: details.description,
|
||||
season: details.seasonNumber,
|
||||
episode: details.episodeNumber,
|
||||
rating: parseRating(item),
|
||||
categories: parseCategories(details),
|
||||
start: parseTime(item.startTime),
|
||||
stop: parseTime(item.endTime)
|
||||
const f = data => {
|
||||
const result = []
|
||||
if (typeof data === 'string') {
|
||||
data = JSON.parse(data)
|
||||
}
|
||||
if (data && Array.isArray(data?.data?.items)) {
|
||||
data.data.items
|
||||
.filter(i => i.channel.sourceId.toString() === channel.site_id)
|
||||
.forEach(i => {
|
||||
result.push(...i.programSchedules.map(p => {
|
||||
return { i: p, url: p.programDetails }
|
||||
}))
|
||||
})
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
const queues = f(content)
|
||||
if (queues.length) {
|
||||
const parts = []
|
||||
for (let i = 2; i <= segments; i++) {
|
||||
parts.push(await module.exports.url({ date, segment: i }))
|
||||
}
|
||||
await doFetch(parts, (url, res) => {
|
||||
queues.push(...f(res))
|
||||
})
|
||||
await doFetch(queues, (queue, res) => {
|
||||
const item = res?.data?.item ? res.data.item : queue.i
|
||||
programs.push({
|
||||
title: item.title ? item.title : queue.i.title,
|
||||
sub_title: item.episodeNumber ? item.episodeTitle : null,
|
||||
description: item.description,
|
||||
season: item.seasonNumber,
|
||||
episode: item.episodeNumber,
|
||||
rating: item.rating ? { system: 'MPA', value: item.rating } : null,
|
||||
categories: Array.isArray(item.genres) ? item.genres.map(g => g.name) : null,
|
||||
start: dayjs.unix(item.startTime ? item.startTime : queue.i.startTime),
|
||||
stop: dayjs.unix(item.endTime ? item.endTime : queue.i.endTime)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const providers = [9100001138]
|
||||
const channels = []
|
||||
const data = await axios
|
||||
.get(await this.url({}))
|
||||
.then(r => r.data)
|
||||
.catch(console.error)
|
||||
|
||||
let channels = []
|
||||
for (let providerId of providers) {
|
||||
const data = await axios
|
||||
.get(
|
||||
`https://internal-prod.apigee.fandom.net/v1/xapi/tvschedules/tvguide/serviceprovider/${providerId}/sources/web`
|
||||
)
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
|
||||
data.data.items.forEach(item => {
|
||||
channels.push({
|
||||
lang: 'en',
|
||||
site_id: `${providerId}#${item.sourceId}`,
|
||||
name: item.fullName
|
||||
})
|
||||
data.data.items.forEach(item => {
|
||||
channels.push({
|
||||
lang: 'en',
|
||||
site_id: item.sourceId,
|
||||
name: item.fullName.replace(/Channel|Schedule/g, '').trim()
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
return channels
|
||||
},
|
||||
async fetchApiKey() {
|
||||
const data = await axios
|
||||
.get('https://www.tvguide.com/listings/')
|
||||
.then(r => r.data)
|
||||
.catch(console.error)
|
||||
|
||||
return data ? data.match(/apiKey=([a-zA-Z0-9]+)&/)[1] : null
|
||||
}
|
||||
}
|
||||
|
||||
function parseRating(item) {
|
||||
return item.rating ? { system: 'MPA', value: item.rating } : null
|
||||
}
|
||||
|
||||
function parseCategories(details) {
|
||||
return Array.isArray(details.genres) ? details.genres.map(g => g.name) : []
|
||||
}
|
||||
|
||||
function parseTime(timestamp) {
|
||||
return dayjs.unix(timestamp)
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
const data = JSON.parse(content)
|
||||
if (!data.data || !Array.isArray(data.data.items) || !data.data.items.length) return []
|
||||
|
||||
return data.data.items[0].programSchedules
|
||||
}
|
||||
|
||||
async function loadProgramDetails(item) {
|
||||
item.programDetails = item.programDetails.replace(
|
||||
'player1-backend-prod-internal.apigee.net',
|
||||
'internal-prod.apigee.fandom.net'
|
||||
)
|
||||
const data = await axios
|
||||
.get(item.programDetails)
|
||||
.then(r => r.data)
|
||||
.catch(err => {
|
||||
console.log(err.message)
|
||||
})
|
||||
if (!data || !data.data || !data.data.item) return {}
|
||||
|
||||
return data.data.item
|
||||
}
|
||||
|
|
|
@ -5,59 +5,82 @@ const axios = require('axios')
|
|||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
|
||||
dayjs.extend(customParseFormat)
|
||||
dayjs.extend(utc)
|
||||
|
||||
jest.mock('axios')
|
||||
|
||||
const date = dayjs.utc('2022-10-30', 'YYYY-MM-DD').startOf('d')
|
||||
const date = dayjs.utc('2025-01-12', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '9100001138#9200018514',
|
||||
site_id: '9200018514',
|
||||
xmltv_id: 'CBSEast.us'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date, channel })).toBe(
|
||||
'https://internal-prod.apigee.fandom.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514'
|
||||
axios.get.mockImplementation(url => {
|
||||
const result = {}
|
||||
const urls = {
|
||||
'https://www.tvguide.com/listings/':
|
||||
'content.html',
|
||||
'https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736640000&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc':
|
||||
'content1.json',
|
||||
'https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736654400&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc':
|
||||
'content2.json',
|
||||
'https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000351140/web':
|
||||
'program1.json',
|
||||
'https://backend.tvguide.com/tvschedules/tvguide/programdetails/9000000408/web':
|
||||
'program2.json',
|
||||
}
|
||||
if (urls[url] !== undefined) {
|
||||
result.data = fs.readFileSync(path.join(__dirname, '__data__', urls[url])).toString()
|
||||
if (!urls[url].startsWith('content1') && !urls[url].endsWith('.html')) {
|
||||
result.data = JSON.parse(result.data)
|
||||
}
|
||||
}
|
||||
|
||||
return Promise.resolve(result)
|
||||
})
|
||||
|
||||
it('can generate valid url', async () => {
|
||||
expect(await url({ date })).toBe(
|
||||
'https://backend.tvguide.com/tvschedules/tvguide/9100001138/web?start=1736640000&duration=240&apiKey=DI9elXhZ3bU6ujsA2gXEKOANyncXGUGc'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', async () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
|
||||
|
||||
axios.get.mockImplementation(url => {
|
||||
if (
|
||||
url ===
|
||||
'https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613824/web'
|
||||
) {
|
||||
return Promise.resolve({
|
||||
data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/program.json')))
|
||||
})
|
||||
} else {
|
||||
return Promise.resolve({ data: '' })
|
||||
}
|
||||
})
|
||||
|
||||
let results = await parser({ content, channel, date })
|
||||
results = results.map(p => {
|
||||
const content = fs.readFileSync(path.join(__dirname, '__data__', 'content1.json')).toString()
|
||||
const results = (await parser({ content, channel, date })).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results[5]).toMatchObject({
|
||||
start: '2022-10-30T13:00:00.000Z',
|
||||
stop: '2022-10-30T14:30:00.000Z',
|
||||
title: 'CBS Sunday Morning',
|
||||
sub_title: '10-30-2022',
|
||||
expect(results.length).toBe(5)
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-01-12T01:00:00.000Z',
|
||||
stop: '2025-01-12T02:00:00.000Z',
|
||||
title: 'FBI: International',
|
||||
sub_title: 'Gift',
|
||||
description:
|
||||
'The Backseat Lovers perform on the "Saturday Sessions"; and Daisy Ryan guests on "The Dish." Also: comedian Fortune Feimster.',
|
||||
categories: ['Talk & Interview', 'Other'],
|
||||
season: 40,
|
||||
episode: 248,
|
||||
'The owner of a prominent cyber security company is murdered in Copenhagen just before a massive data leak surfaces online, leading the NSA to ask the team for assistance in catching the killer and leaker before more data is revealed.',
|
||||
categories: ['Action & Adventure', 'Suspense', 'Drama'],
|
||||
season: 3,
|
||||
episode: 12,
|
||||
rating: {
|
||||
system: 'MPA',
|
||||
value: 'TV-PG'
|
||||
value: 'L'
|
||||
}
|
||||
})
|
||||
expect(results[4]).toMatchObject({
|
||||
start: '2025-01-12T06:00:00.000Z',
|
||||
stop: '2025-01-12T08:00:00.000Z',
|
||||
title: 'Local Programs',
|
||||
description:
|
||||
'Local programming information.',
|
||||
categories: [],
|
||||
rating: {
|
||||
system: 'MPA',
|
||||
value: 'L'
|
||||
}
|
||||
})
|
||||
})
|
||||
|
@ -66,7 +89,7 @@ it('can handle empty guide', async () => {
|
|||
const results = await parser({
|
||||
date,
|
||||
channel,
|
||||
content: fs.readFileSync(path.resolve(__dirname, '__data__/no-content.json'))
|
||||
content: fs.readFileSync(path.join(__dirname, '__data__', 'no-content.json')).toString()
|
||||
})
|
||||
expect(results).toMatchObject([])
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue