diff --git a/sites/skyperfectv.co.jp/README.md b/sites/skyperfectv.co.jp/README.md new file mode 100644 index 00000000..227bcb2e --- /dev/null +++ b/sites/skyperfectv.co.jp/README.md @@ -0,0 +1,28 @@ +# skyperfectv.co.jp + + + +## Index + +- [Index](#index) +- [Download the guide](#download-the-guide) +- [Update channel list](#update-channel-list) +- [Test](#test) + +## Download the guide + +```sh +npm run grab -- --site=skyperfectv.co.jp +``` + +## Update channel list + +```sh +npm run channels:parse -- --config=./sites/skyperfectv.co.jp/skyperfectv.co.jp.config.js --output=./sites/skyperfectv.co.jp/skyperfectv.co.jp.channels.xml +``` + +## Test + +```sh +npm test -- skyperfectv.co.jp +``` diff --git a/sites/skyperfectv.co.jp/skyperfectv.co.jp.channels.xml b/sites/skyperfectv.co.jp/skyperfectv.co.jp.channels.xml new file mode 100644 index 00000000..2e7f622d --- /dev/null +++ b/sites/skyperfectv.co.jp/skyperfectv.co.jp.channels.xml @@ -0,0 +1,140 @@ + + + WOWOWシネマ + スターチャンネル + WOWOWプラス 映画・ドラマ・スポーツ・音楽 + 日本映画専門チャンネル + 東映チャンネル + 衛星劇場 + 映画・チャンネルNECO + ザ・シネマ + ムービープラス + J SPORTS 1 + J SPORTS 2 + J SPORTS 3 + J SPORTS 4 + スカイA + GAORA SPORTS + 日テレジータス + ゴルフネットワーク + スポーツライブ+ + WOWOWプライム + WOWOWライブ + ディズニー・チャンネル + TBSチャンネル1 最新ドラマ・音楽・映画 + TBSチャンネル2 名作ドラマ・スポーツ・アニメ + テレ朝チャンネル1 + テレ朝チャンネル2 + 日テレプラス ドラマ・アニメ・音楽ライブ + エンタメ~テレ☆シネドラバラエティ + チャンネル銀河 歴史ドラマ・サスペンス・日本のうた + フジテレビONE スポーツ・バラエティ + フジテレビTWO ドラマ・アニメ + フジテレビNEXT ライブ・プレミアム + スカチャン1 + 100%ヒッツ!スペースシャワーTV プラス + 音楽・ライブ! スペースシャワーTV + MTV + ミュージック・エア + MUSIC ON! TV(エムオン!) + 歌謡ポップスチャンネル + スーパー!ドラマTV #海外ドラマ☆エンタメ + アクションチャンネル + Dlife + 女性チャンネル♪LaLa TV + ミステリーチャンネル + KBS World 韓流専門チャンネル + Mnet + TAKARAZUKA SKY STAGE + 時代劇専門チャンネル + ファミリー劇場 + ホームドラマチャンネル 韓流・時代劇・国内ドラマ + MONDO TV + アニマックス + キッズステーション テレビアニメ・劇場版・OVA + カートゥーン ネットワーク 海外アニメ国内アニメ + アニメシアターX(AT-X) + ディスカバリーチャンネル + アニマルプラネット + ヒストリーチャンネル 日本・世界の歴史&エンタメ + ナショナル ジオグラフィック + 日テレNEWS24 + TBS NEWS + BBCニュース + CNNj + BS釣りビジョン + ディズニージュニア + 囲碁・将棋チャンネル + グリーンチャンネル + ショップチャンネル + QVC(キューヴィーシー) + WOWOW 4K + V☆パラダイス + エキサイティング・グランプリ + スポーツライブ+ 2 + FIGHTING TV サムライ + 刺激ストロングチャンネル + ダンスチャンネル by エンタメ~テレ + スカチャン5 + スカチャン6 + スカチャン7 + スカチャン8 + スカチャン9 + スカチャン10 + スカチャン11 + スカチャン12 + スカチャン13 + スカチャン14 + ミュージック・ジャパンTV + ミュージック・グラフィティTV + アジアドラマチックTV(アジドラ) + KNTV + 大人のイキヌキ!ヌーヴェルパラダイス + アイドル専門チャンネルPigoo + SORA―お天気チャンネル― + CNN U.S. + 中国テレビ★大富チャンネル + 日経CNBC + ベターライフチャンネル + パチンコ★パチスロTV! + パチ・スロ サイトセブンTV + 釣りビジョンHD + 寄席チャンネル + 旅チャンネル + 鉄道チャンネル + 南関東地方競馬チャンネル + JLC680 + JLC681 + JLC682 + JLC683 + JLC684 + グリーンチャンネル2 + SPEEDチャンネル(競輪ライブ) 690 + SPEEDチャンネル(競輪ライブ) 691 + SPEEDチャンネル(競輪ライブ) 692 + SPEEDチャンネル(競輪ライブ) 693 + SPEEDチャンネル(競輪ライブ) 694 + スピードプラスワン695 + 地方競馬ナイン 701 + 地方競馬ナイン 702 + 地方競馬ナイン 703 + フェニックステレビ(鳳凰衛視) + ジュエリー☆GSTV + セレクトショッピング + kmpチャンネル + プレイボーイ チャンネル + レインボーチャンネル + ミッドナイト・ブルー + パラダイステレビ + チェリーボム + VENUS + バニラスカイチャンネル + エンタ!959 + Zaptv + ダイナマイトTV + AV王 + レッドチェリー + Splash + フラミンゴ + スカパー!プロモ599 + \ No newline at end of file diff --git a/sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.config.js b/sites/skyperfectv.co.jp/skyperfectv.co.jp.config.js similarity index 85% rename from sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.config.js rename to sites/skyperfectv.co.jp/skyperfectv.co.jp.config.js index b42499ad..6a556d81 100644 --- a/sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.config.js +++ b/sites/skyperfectv.co.jp/skyperfectv.co.jp.config.js @@ -12,17 +12,17 @@ dayjs.extend(customParseFormat) dayjs.extend(duration) module.exports = { - site: 'www.skyperfectv.co.jp', + site: 'skyperfectv.co.jp', days: 1, lang: 'ja', url: function ({ date, channel }) { let [type, ...code] = channel.site_id.split('_') code = code.join('_') - console.log(`https://www.skyperfectv.co.jp/program/schedule/${type}/channel:${code}/date:${date.format('YYMMDD')}`) - return `https://www.skyperfectv.co.jp/program/schedule/${type}/channel:${code}/date:${date.format('YYMMDD')}` + console.log(`https://skyperfectv.co.jp/program/schedule/${type}/channel:${code}/date:${date.format('YYMMDD')}`) + return `https://skyperfectv.co.jp/program/schedule/${type}/channel:${code}/date:${date.format('YYMMDD')}` }, logo: function ({channel}) { - return `https://www.skyperfectv.co.jp/library/common/img/channel/icon/basic/m_${channel.site_id.toLowerCase()}.gif` + return `https://skyperfectv.co.jp/library/common/img/channel/icon/basic/m_${channel.site_id.toLowerCase()}.gif` }, parser: function ({ content, date }) { const $ = cheerio.load(content) @@ -89,7 +89,7 @@ module.exports = { } const getChannels = async (type) => { - const response = await axios.get(`https://www.skyperfectv.co.jp/program/schedule/${type}/`) + const response = await axios.get(`https://skyperfectv.co.jp/program/schedule/${type}/`) return pageParser(response.data, type) } diff --git a/sites/skyperfectv.co.jp/skyperfectv.co.jp.test.js b/sites/skyperfectv.co.jp/skyperfectv.co.jp.test.js new file mode 100644 index 00000000..5be807a9 --- /dev/null +++ b/sites/skyperfectv.co.jp/skyperfectv.co.jp.test.js @@ -0,0 +1,53 @@ +const { parser, url } = require('./skyperfectv.co.jp.config.js') +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('2024-08-01', 'YYYY-MM-DD').startOf('d') +const channel = { + site_id: 'basic_BS193', + name: 'WOWOWシネマ', + xmltv_id: 'WOWOWCinema.jp' +} + +const content = ` +番組表(アニメシアターX(AT-X))|スカパー!

現在マイリストを更新中です。

現在マイリストに登録中です。

現在マイリストから削除中です。

番組放送予定表

基本プラン
選択した日付から1週間の番組表を表示します
番組放送予定表
基本プラン
選択した日付から1週間の番組表を表示します

前週

次週

午前(4時~)

午後(12時~)

深夜(24時~)

  • 04:00〜04:30

    ヴァルキリードライヴマーメイド #06

    番組サムネイル
            newAppBannerImgnewAppBannerImg

            番組情報は予告なく変更となる場合がありますのでご了承ください

            ・このサイトでは、当日から1週間分はEPGと同等の番組情報が表示され、その先1ヶ月後まではガイド誌(有料)と同等の番組情報が表示されます。番組や放送予定は予告なく変更される場合がありますのでご了承ください。
            ・このサイトは、ウェブブラウザーMicrosoftEdge最新版、GoogleChrome最新版、Firefox最新版、Safari最新版での動作を確認しております。上記以外のウェブブラウザーで閲覧されますと、表示の乱れや予期せぬ動作を起こす場合がございますので、予めご了承ください。

            ##ERROR_MSG##

            ##ERROR_MSG##

            ##ERROR_MSG##

            マイリストから削除してもよいですか?

            ログインをしてお気に入り番組を登録しよう!
            Myスカパー!にログインをすると、マイリストにお気に入り番組リストを作成することができます!
            ログイン新規会員登録
            マイリストに番組を登録できません
            ##ERROR_MSG##
            +` + +it('can generate valid url', () => { + const result = url({ date, channel }) + expect(result).toBe('https://skyperfectv.co.jp/program/schedule/basic/channel:BS193/date:240801') +}) + +it('can parse response', () => { + const result = parser({ date, channel, content }).map(p => { + p.start = p.start.toJSON() + p.stop = p.stop.toJSON() + return p + }) + + expect(result).toMatchObject([ + { + start: '2024-07-31T19:00:00.000Z', // UTC time + stop: '2024-07-31T19:30:00.000Z', // UTC + title: 'ヴァルキリードライヴマーメイド #06', + image: 'https://pm-img-ap.skyperfectv.co.jp/uploads/thumbnail/image/11301805/S_BC929697780313_be7975d4e26a4cad9b89fc6c94807e38_20240613144158569.jpg' + } + ]) +}) + + +const empty = ` +番組表(アニメシアターX(AT-X))|スカパー!

            現在マイリストを更新中です。

            現在マイリストに登録中です。

            現在マイリストから削除中です。

            番組放送予定表

            基本プラン
            選択した日付から1週間の番組表を表示します
            番組放送予定表
            基本プラン
            選択した日付から1週間の番組表を表示します

            前週

            次週

            午前(4時~)

            午後(12時~)

            深夜(24時~)

                        newAppBannerImgnewAppBannerImg

                        番組情報は予告なく変更となる場合がありますのでご了承ください

                        ・このサイトでは、当日から1週間分はEPGと同等の番組情報が表示され、その先1ヶ月後まではガイド誌(有料)と同等の番組情報が表示されます。番組や放送予定は予告なく変更される場合がありますのでご了承ください。
                        ・このサイトは、ウェブブラウザーMicrosoftEdge最新版、GoogleChrome最新版、Firefox最新版、Safari最新版での動作を確認しております。上記以外のウェブブラウザーで閲覧されますと、表示の乱れや予期せぬ動作を起こす場合がございますので、予めご了承ください。

                        ##ERROR_MSG##

                        ##ERROR_MSG##

                        ##ERROR_MSG##

                        マイリストから削除してもよいですか?

                        ログインをしてお気に入り番組を登録しよう!
                        Myスカパー!にログインをすると、マイリストにお気に入り番組リストを作成することができます!
                        ログイン新規会員登録
                        マイリストに番組を登録できません
                        ##ERROR_MSG##
                        +` + +it('can handle empty guide', () => { + const result = parser({ + date, + channel, + content: empty + }) + expect(result).toMatchObject([]) +}) diff --git a/sites/www.skyperfectv.co.jp/README.md b/sites/www.skyperfectv.co.jp/README.md deleted file mode 100644 index cb0706f6..00000000 --- a/sites/www.skyperfectv.co.jp/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# www.skyperfectv.co.jp - - - -## Index - -- [Index](#index) -- [Download the guide](#download-the-guide) -- [Update channel list](#update-channel-list) -- [Test](#test) - -## Download the guide - -```sh -npm run grab -- --site=www.skyperfectv.co.jp -``` - -## Update channel list - -```sh -npm run channels:parse -- --config=./sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.config.js --output=./sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.channels.xml -``` - -## Test - -```sh -npm test -- www.skyperfectv.co.jp -``` diff --git a/sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.channels.xml b/sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.channels.xml deleted file mode 100644 index 6a914f22..00000000 --- a/sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.channels.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - WOWOWシネマ - スターチャンネル - WOWOWプラス 映画・ドラマ・スポーツ・音楽 - 日本映画専門チャンネル - 東映チャンネル - 衛星劇場 - 映画・チャンネルNECO - ザ・シネマ - ムービープラス - J SPORTS 1 - J SPORTS 2 - J SPORTS 3 - J SPORTS 4 - スカイA - GAORA SPORTS - 日テレジータス - ゴルフネットワーク - スポーツライブ+ - WOWOWプライム - WOWOWライブ - ディズニー・チャンネル - TBSチャンネル1 最新ドラマ・音楽・映画 - TBSチャンネル2 名作ドラマ・スポーツ・アニメ - テレ朝チャンネル1 - テレ朝チャンネル2 - 日テレプラス ドラマ・アニメ・音楽ライブ - エンタメ~テレ☆シネドラバラエティ - チャンネル銀河 歴史ドラマ・サスペンス・日本のうた - フジテレビONE スポーツ・バラエティ - フジテレビTWO ドラマ・アニメ - フジテレビNEXT ライブ・プレミアム - スカチャン1 - 100%ヒッツ!スペースシャワーTV プラス - 音楽・ライブ! スペースシャワーTV - MTV - ミュージック・エア - MUSIC ON! TV(エムオン!) - 歌謡ポップスチャンネル - スーパー!ドラマTV #海外ドラマ☆エンタメ - アクションチャンネル - Dlife - 女性チャンネル♪LaLa TV - ミステリーチャンネル - KBS World 韓流専門チャンネル - Mnet - TAKARAZUKA SKY STAGE - 時代劇専門チャンネル - ファミリー劇場 - ホームドラマチャンネル 韓流・時代劇・国内ドラマ - MONDO TV - アニマックス - キッズステーション テレビアニメ・劇場版・OVA - カートゥーン ネットワーク 海外アニメ国内アニメ - アニメシアターX(AT-X) - ディスカバリーチャンネル - アニマルプラネット - ヒストリーチャンネル 日本・世界の歴史&エンタメ - ナショナル ジオグラフィック - 日テレNEWS24 - TBS NEWS - BBCニュース - CNNj - BS釣りビジョン - ディズニージュニア - 囲碁・将棋チャンネル - グリーンチャンネル - ショップチャンネル - QVC(キューヴィーシー) - WOWOW 4K - V☆パラダイス - エキサイティング・グランプリ - スポーツライブ+ 2 - FIGHTING TV サムライ - 刺激ストロングチャンネル - ダンスチャンネル by エンタメ~テレ - スカチャン5 - スカチャン6 - スカチャン7 - スカチャン8 - スカチャン9 - スカチャン10 - スカチャン11 - スカチャン12 - スカチャン13 - スカチャン14 - ミュージック・ジャパンTV - ミュージック・グラフィティTV - アジアドラマチックTV(アジドラ) - KNTV - 大人のイキヌキ!ヌーヴェルパラダイス - アイドル専門チャンネルPigoo - SORA―お天気チャンネル― - CNN U.S. - 中国テレビ★大富チャンネル - 日経CNBC - ベターライフチャンネル - パチンコ★パチスロTV! - パチ・スロ サイトセブンTV - 釣りビジョンHD - 寄席チャンネル - 旅チャンネル - 鉄道チャンネル - 南関東地方競馬チャンネル - JLC680 - JLC681 - JLC682 - JLC683 - JLC684 - グリーンチャンネル2 - SPEEDチャンネル(競輪ライブ) 690 - SPEEDチャンネル(競輪ライブ) 691 - SPEEDチャンネル(競輪ライブ) 692 - SPEEDチャンネル(競輪ライブ) 693 - SPEEDチャンネル(競輪ライブ) 694 - スピードプラスワン695 - 地方競馬ナイン 701 - 地方競馬ナイン 702 - 地方競馬ナイン 703 - フェニックステレビ(鳳凰衛視) - ジュエリー☆GSTV - セレクトショッピング - kmpチャンネル - プレイボーイ チャンネル - レインボーチャンネル - ミッドナイト・ブルー - パラダイステレビ - チェリーボム - VENUS - バニラスカイチャンネル - エンタ!959 - Zaptv - ダイナマイトTV - AV王 - レッドチェリー - Splash - フラミンゴ - スカパー!プロモ599 - \ No newline at end of file diff --git a/sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.test.js b/sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.test.js deleted file mode 100644 index cabf72ee..00000000 --- a/sites/www.skyperfectv.co.jp/www.skyperfectv.co.jp.test.js +++ /dev/null @@ -1,53 +0,0 @@ -const { parser, url } = require('./www.skyperfectv.co.jp.config.js') -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('2024-08-01', 'YYYY-MM-DD').startOf('d') -const channel = { - site_id: 'basic_BS193', - name: 'WOWOWシネマ', - xmltv_id: 'WOWOWCinema.jp' -} - -const content = ` -番組表(アニメシアターX(AT-X))|スカパー!

                        現在マイリストを更新中です。

                        現在マイリストに登録中です。

                        現在マイリストから削除中です。

                        番組放送予定表

                        基本プラン
                        選択した日付から1週間の番組表を表示します
                        番組放送予定表
                        基本プラン
                        選択した日付から1週間の番組表を表示します

                        前週

                        次週

                        午前(4時~)

                        午後(12時~)

                        深夜(24時~)

                        • 04:00〜04:30

                          ヴァルキリードライヴマーメイド #06

                          番組サムネイル
                                  newAppBannerImgnewAppBannerImg

                                  番組情報は予告なく変更となる場合がありますのでご了承ください

                                  ・このサイトでは、当日から1週間分はEPGと同等の番組情報が表示され、その先1ヶ月後まではガイド誌(有料)と同等の番組情報が表示されます。番組や放送予定は予告なく変更される場合がありますのでご了承ください。
                                  ・このサイトは、ウェブブラウザーMicrosoftEdge最新版、GoogleChrome最新版、Firefox最新版、Safari最新版での動作を確認しております。上記以外のウェブブラウザーで閲覧されますと、表示の乱れや予期せぬ動作を起こす場合がございますので、予めご了承ください。

                                  ##ERROR_MSG##

                                  ##ERROR_MSG##

                                  ##ERROR_MSG##

                                  マイリストから削除してもよいですか?

                                  ログインをしてお気に入り番組を登録しよう!
                                  Myスカパー!にログインをすると、マイリストにお気に入り番組リストを作成することができます!
                                  ログイン新規会員登録
                                  マイリストに番組を登録できません
                                  ##ERROR_MSG##
                                  -` - -it('can generate valid url', () => { - const result = url({ date, channel }) - expect(result).toBe('https://www.skyperfectv.co.jp/program/schedule/basic/channel:BS193/date:240801') -}) - -it('can parse response', () => { - const result = parser({ date, channel, content }).map(p => { - p.start = p.start.toJSON() - p.stop = p.stop.toJSON() - return p - }) - - expect(result).toMatchObject([ - { - start: '2024-07-31T19:00:00.000Z', // UTC time - stop: '2024-07-31T19:30:00.000Z', // UTC - title: 'ヴァルキリードライヴマーメイド #06', - image: 'https://pm-img-ap.skyperfectv.co.jp/uploads/thumbnail/image/11301805/S_BC929697780313_be7975d4e26a4cad9b89fc6c94807e38_20240613144158569.jpg' - } - ]) -}) - - -const empty = ` -番組表(アニメシアターX(AT-X))|スカパー!

                                  現在マイリストを更新中です。

                                  現在マイリストに登録中です。

                                  現在マイリストから削除中です。

                                  番組放送予定表

                                  基本プラン
                                  選択した日付から1週間の番組表を表示します
                                  番組放送予定表
                                  基本プラン
                                  選択した日付から1週間の番組表を表示します

                                  前週

                                  次週

                                  午前(4時~)

                                  午後(12時~)

                                  深夜(24時~)

                                              newAppBannerImgnewAppBannerImg

                                              番組情報は予告なく変更となる場合がありますのでご了承ください

                                              ・このサイトでは、当日から1週間分はEPGと同等の番組情報が表示され、その先1ヶ月後まではガイド誌(有料)と同等の番組情報が表示されます。番組や放送予定は予告なく変更される場合がありますのでご了承ください。
                                              ・このサイトは、ウェブブラウザーMicrosoftEdge最新版、GoogleChrome最新版、Firefox最新版、Safari最新版での動作を確認しております。上記以外のウェブブラウザーで閲覧されますと、表示の乱れや予期せぬ動作を起こす場合がございますので、予めご了承ください。

                                              ##ERROR_MSG##

                                              ##ERROR_MSG##

                                              ##ERROR_MSG##

                                              マイリストから削除してもよいですか?

                                              ログインをしてお気に入り番組を登録しよう!
                                              Myスカパー!にログインをすると、マイリストにお気に入り番組リストを作成することができます!
                                              ログイン新規会員登録
                                              マイリストに番組を登録できません
                                              ##ERROR_MSG##
                                              -` - -it('can handle empty guide', () => { - const result = parser({ - date, - channel, - content: empty - }) - expect(result).toMatchObject([]) -})