Mediaset Infinity Downloader は、Mediaset Infinity の映画やテレビシリーズをダウンロードするためのタイプスクリプト ライブラリです。実際のエピソードをダウンロードするには yt-dlp を使用します。
mediaset-infinity-downloader を使用するには、このリポジトリを複製し、複製されたフォルダーに cd します。次に、必要なパッケージをインストールする必要があります
# typescript をインストールします runnpm install --global ts-node# プロジェクト パッケージをインストールしますnpm install
スクリプトからyt-dlp
にアクセスできるようにします。
実行可能ファイルをダウンロードします (マシン用)
実行可能ファイルをフォルダーsrc/executables
に置きます
src/user/config.ts
ファイルを調整して、 ytDlpPath
が正しく、 outputFolder
存在することを確認します。
src/user/episodes.ts
に、エピソードまたはムービー ページを含む文字列の配列を入力します。以下の例
デフォルトをエクスポート [ 'https://mediasetinfinity.mediaset.it/video/terraamara/episodio-243_F311851102010702', 'https://mediasetinfinity.mediaset.it/video/terraamara/episodio-242_F311851102010602',];
# プロジェクトフォルダーに cd で移動しますcd mediaset-infinitry-downloader# スクリプトを実行しますnpm run start
デフォルトでは、yt-dlp はダウンロードしようとしている .mp4 の名前を出力ファイル名として使用します。ファイル名の出力をプログラムで変更する方法を設定に追加しました。使用するには以下の手順に従ってください
src/user/config.ts でcustomOutputName
有効にします。
配列内の対応する要素のファイル名として自動的に使用される文字列を出力するように、 customOutputNameFunction
を調整します。
最も簡単で安全ですが、最も時間がかかります
各エピソードのページを開き、リンクを手動でコピーします。
それを目盛りで囲まれたepisodes.ts
配列に追加します。
失敗する可能性が最も高くなりますが (mediasetinfinity がページ構造を変更した場合)、最速です
エピソードリストページを一番下までスクロールします
ブラウザコンソールを開き、この js copy($$('a[href*="/video/"]').map((x)=>x.href))
を貼り付けます。
クリップボードにすべてのエピソードのリンクの配列が表示されます。
エピソード配列をepisodes.ts
ファイルに貼り付けます。
最も信頼性が高い (ある程度の専門知識が必要)
エピソード リスト ページを開きます (例: https://mediasetinfinity.mediaset.it/fiction/bitterlands/episodi_SE000000001766,ST000000003181,sb100018308)
開発ツールを開き、「ネットワーク」タブに移動します
ページの一番下までスクロールします
mediaset-prod-all-programs-v2
という名前の新しいtype:'fetch'
リクエストが表示されます。
右クリックしてCopy > Copy as fetch
devtoolsの「コンソール」タブに移動します。
コピーしたフェッチを貼り付けます (以下の例)
fetch("https://feed.entertainment.tv.theplatform.eu/f/PR1GhC/mediaset-prod-all-programs-v2?byCustomValue={subBrandId} {100018308}&sort=:publishInfo_lastPublished|desc,tvSeasonepisodeNumber|desc&range= 1-1000", {"ヘッダー": { "受け入れる": "*/*", "accept- language": "it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7", "sec-ch-ua": ""ではありません.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"", "sec-ch-ua-mobile": "?0"、"sec-ch-ua-platform": ""Windows""、"sec-fetch-dest": "empty"、"sec-fetch- mode": "cors", "sec-fetch-site": "クロスサイト"},"referrer": "https://mediasetinfinity.mediaset.it/","referrerPolicy": "strict-origin-when-cross-origin","body": null,"method": "GET","mode": "cors","credentials": "omit"});
queryParam のrange
任意の数値に変更します (上記の例では、1 ~ 1000 に変更しました)。
Enterを押してfetch
実行します
「ネットワーク」タブに戻ります
先ほど実行したリクエストを選択し、プレビュー タブでentries
を右クリックし、 Copy value
押します。
エピソード配列をepisodes.ts
ファイルに貼り付けます。