CBSのウェブサイトからすべての季節とエピソードのビデオリンクを抽出します

アブラハム

CBSにはテレビ番組「ザ・チャレンジ」があり、季節ごとにエピソードがたくさんあります。彼らはここのCBSウェブサイトにあります:https//www.cbs.com/shows/the-challenge/

このようなすべてのビデオリンクのリストが欲しいです(シーズン11の最初の4つのエピソード)。

https://www.cbs.com/shows/the-challenge/video/C5NCzTv2qJp1GwhcV5KWxeKWN4p6_Mqt/the-challenge-throwing-down-the-gauntlet/
https://www.cbs.com/shows/the-challenge/video/kXdno68B36gd6s06OhdrUDUvAAYY4q_e/the-challenge-derrick-steps-it-up/
https://www.cbs.com/shows/the-challenge/video/RYA43Dqs2bRJsgAtcZIZhN8zVVQ1FIxf/the-challenge-we-can-work-it-out/
https://www.cbs.com/shows/the-challenge/video/lJvc_Lkns9Q2NYkDfmsNQmeajXP3QjRm/the-challenge-the-10-000-pyramid/

すべてのエピソードのビデオリンクを自動的に抽出するにはどうすればよいですか?「ページソースを表示」することはできましたが、シーズン11の12/18エピソードしか表示されませんでした:(クロームで開く):ビューソース:https//www.cbs.com/shows/the-challenge/、検索の場合https://www.cbs.com/shows/the-challenge/video、12件の一致が表示されます。

このページはメインページ内のエピソードとシーズンを「非表示」にするため、他のシーズン用の個別のURLはありません。私が今持っている解決策は、各ビデオのリンクアドレスを手動でコピーすることです...

ジャック・フリーティング

このページは、(部分的に)javascriptを使用して動的に読み込まれます。たとえば、エピソード13〜18のリンクはそのように読み込まれます。

それらをキャプチャするには、ブラウザの[開発者]タブを使用する必要があります(これは長くて複雑な話です。たとえば、ここから読み始めることができます)。

そのリンクを取得すると、応答はjsonになります。これは、Python辞書として扱われ、目的の出力を生成します。

だからすべて一緒に:

import requests
cookies = {
    'CBS_ADV_VAL': 'c',
    'CBS_ADV_SUBSES_VAL': '4',
    'ovvuid': '9f064779-4c06-49f1-9cdd-7e64e653145e',
    'OptanonConsent': 'isIABGlobal=false&datestamp=Wed+Sep+09+2020+15%3A44%3A13+GMT-0400+(Eastern+Daylight+Time)&version=6.5.0&hosts=&consentId=d1c945ba-78ea-46e6-ba6f-5329085e06d8&interactionCount=1&landingPath=https%3A%2F%2Fwww.cbs.com%2Fshows%2Fthe-challenge%2F&groups=1%3A1%2C2%3A1%2C3%3A1%2C4%3A1%2C5%3A1',
}

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0',
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Language': 'en-US,en;q=0.5',
    'X-Requested-With': 'XMLHttpRequest',
    'Referer': 'https://www.cbs.com/shows/the-challenge/',
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0',
    'TE': 'Trailers',
}

response = requests.get('https://www.cbs.com/shows/the-challenge/xhr/episodes/page/0/size/18/xs/0/season/11/', headers=headers, cookies=cookies)

links = response.json()
for entry in (links['result']['data']):  
    print(entry['url'])

出力:

/shows/the-challenge/video/IBWXQxtaPVmI40RnAACOc_zo0u13Ups1/the-challenge-blind-panic/
/shows/the-challenge/video/uFv8wFmvUFRKfiM29HVT3K_gGCZ4IWYS/the-challenge-last-men-standing/
/shows/the-challenge/video/9GP_ASLg9U_MmFvFmXPHO9liRzjdHhwI/the-challenge-don-t-bet-on-it/

など、全18話。次に、これらの各リンクをベースURL(https://www.cbs.com)と連結して、最終的なリンクを形成できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

すべてのサブディレクトリからソフトウェアをインストールします

分類Dev

Rのルブリデートを使用して日付から季節を決定します

分類Dev

VB.NETのFTPフォルダからすべてのファイルとサブディレクトリをダウンロードします

分類Dev

ウェブサイトからすべてのビデオをダウンロードするにはどうすればよいですか?

分類Dev

ウェブサイトで正規表現を使用して見つかったすべての画像ファイルを、Pythonで私のコンピューターの指定されたディレクトリにダウンロードします

分類Dev

ウェブサイトコードからビデオへのURLを抽出する方法

分類Dev

メソッドの戻り値からコピーしてオブジェクトをインスタンス化することはできますか?

分類Dev

すべての親ディレクトリのプレフィックスを追加してファイル名を変更し、サブディレクトリとサブサブディレクトリからメインディレクトリにすべてのファイルをコピーします

分類Dev

ソフトウェアまたはコマンドラインを使用して、オーディオ/ビデオから人間の声を削除します

分類Dev

パンダのオブジェクトデータ型のcsvからすべての列をインポートしようとしています

分類Dev

データリーダーは、オブジェクトからデータが抽出されるときに、オブジェクトのインスタンスに設定されていないオブジェクト参照を提供します

分類Dev

ウェブサイトのs3バケットからのストリーミングビデオに対して課金されますか?

分類Dev

VB.NETのクライアントサイドから動的JSONオブジェクトのすべてのプロパティをループします

分類Dev

quantedaトークンオブジェクトからデータフレームへのすべてのアイテムのリストを解除します

分類Dev

quantedaトークンオブジェクトからデータフレームへのすべてのアイテムのリストを解除します

分類Dev

javascriptの自動スクロールを使用して、ウェブサイトからすべての画像を定期的にスクレイピングしてダウンロードします

分類Dev

Rのサマリーオブジェクトからdfを抽出します

分類Dev

オブジェクトの汎用リストからすべてのnullエントリを削除します

分類Dev

すべてのサブディレクトリから特定の拡張子を持つすべてのファイルをコピーします

分類Dev

パンダデータフレームの月のリストからすべての季節を取得するにはどうすればよいですか?

分類Dev

サブクエリからのデータをバインドしますか?

分類Dev

ウェブスクレイピングを使用してウェブサイトから複数のPDFをダウンロードする

分類Dev

Kodiアドオン用のPython /美しいスープを使用してウェブサイトからリンクをスクレイピング

分類Dev

ウェブサイトのソースコードから特定のさまざまな要素を抽出する

分類Dev

Grails:サービスのinitメソッドからドメインオブジェクトをフェッチします

分類Dev

ウェブサイトから完全にJavaScriptでレンダリングされたHTMLソースをリクエストし、すべてのiframeタグを見つけます

分類Dev

ダウンロード-1つ以上の例外以外のすべてをオーバーライドするために、tarball内のディレクトリのすべてのコンテンツを既存のディレクトリに抽出します

分類Dev

リクエストを使用してウェブサイトからさまざまな会社のリンクを取得することはできません

分類Dev

オブジェクトからすべてのメソッドにエイリアスを付ける方法は?

Related 関連記事

  1. 1

    すべてのサブディレクトリからソフトウェアをインストールします

  2. 2

    Rのルブリデートを使用して日付から季節を決定します

  3. 3

    VB.NETのFTPフォルダからすべてのファイルとサブディレクトリをダウンロードします

  4. 4

    ウェブサイトからすべてのビデオをダウンロードするにはどうすればよいですか?

  5. 5

    ウェブサイトで正規表現を使用して見つかったすべての画像ファイルを、Pythonで私のコンピューターの指定されたディレクトリにダウンロードします

  6. 6

    ウェブサイトコードからビデオへのURLを抽出する方法

  7. 7

    メソッドの戻り値からコピーしてオブジェクトをインスタンス化することはできますか?

  8. 8

    すべての親ディレクトリのプレフィックスを追加してファイル名を変更し、サブディレクトリとサブサブディレクトリからメインディレクトリにすべてのファイルをコピーします

  9. 9

    ソフトウェアまたはコマンドラインを使用して、オーディオ/ビデオから人間の声を削除します

  10. 10

    パンダのオブジェクトデータ型のcsvからすべての列をインポートしようとしています

  11. 11

    データリーダーは、オブジェクトからデータが抽出されるときに、オブジェクトのインスタンスに設定されていないオブジェクト参照を提供します

  12. 12

    ウェブサイトのs3バケットからのストリーミングビデオに対して課金されますか?

  13. 13

    VB.NETのクライアントサイドから動的JSONオブジェクトのすべてのプロパティをループします

  14. 14

    quantedaトークンオブジェクトからデータフレームへのすべてのアイテムのリストを解除します

  15. 15

    quantedaトークンオブジェクトからデータフレームへのすべてのアイテムのリストを解除します

  16. 16

    javascriptの自動スクロールを使用して、ウェブサイトからすべての画像を定期的にスクレイピングしてダウンロードします

  17. 17

    Rのサマリーオブジェクトからdfを抽出します

  18. 18

    オブジェクトの汎用リストからすべてのnullエントリを削除します

  19. 19

    すべてのサブディレクトリから特定の拡張子を持つすべてのファイルをコピーします

  20. 20

    パンダデータフレームの月のリストからすべての季節を取得するにはどうすればよいですか?

  21. 21

    サブクエリからのデータをバインドしますか?

  22. 22

    ウェブスクレイピングを使用してウェブサイトから複数のPDFをダウンロードする

  23. 23

    Kodiアドオン用のPython /美しいスープを使用してウェブサイトからリンクをスクレイピング

  24. 24

    ウェブサイトのソースコードから特定のさまざまな要素を抽出する

  25. 25

    Grails:サービスのinitメソッドからドメインオブジェクトをフェッチします

  26. 26

    ウェブサイトから完全にJavaScriptでレンダリングされたHTMLソースをリクエストし、すべてのiframeタグを見つけます

  27. 27

    ダウンロード-1つ以上の例外以外のすべてをオーバーライドするために、tarball内のディレクトリのすべてのコンテンツを既存のディレクトリに抽出します

  28. 28

    リクエストを使用してウェブサイトからさまざまな会社のリンクを取得することはできません

  29. 29

    オブジェクトからすべてのメソッドにエイリアスを付ける方法は?

ホットタグ

アーカイブ