目次
はじめに
プロジェクトの開始
技術的なポイント
#ビデオのメインメソッドをダウンロード
ホームページ ウェブフロントエンド jsチュートリアル Node がヘッドラインビデオをバッチでクロールして保存する方法 (コード実装)

Node がヘッドラインビデオをバッチでクロールして保存する方法 (コード実装)

Sep 19, 2018 pm 05:02 PM
node.js ダウンロード ウェブクローラー ビデオ

この記事の内容は、Node がヘッドラインビデオのバッチクロールと保存を実装する方法に関するものです。必要な方は参考にしていただければ幸いです。

はじめに

ビデオや画像をバッチでクロールする一般的なルーチンは、クローラーを使用してファイル リンクのコレクションを取得し、writeFile などのメソッドを使用してファイルを 1 つずつ保存することです。ただし、Toutiao のビデオ リンクは、クロールする必要がある HTML ファイル (サーバー側のレンダリング出力) にキャプチャできません。ビデオ リンクは、ページがクライアント側でレンダリングされるときに、特定の js ファイルのアルゴリズムまたは復号化メソッドを通じて、ビデオの既知のキーまたはハッシュ値に基づいて動的に計算され、ビデオ タグに追加されます。これはウェブサイトのクロール対策でもあります。

これらのページを参照すると、audit 要素を通じて計算されたファイル アドレスを確認できます。ただし、バッチでダウンロードする場合、ビデオ リンクを 1 つずつ手動で取得することはお勧めできません。幸いなことに、puppeteer は Chrome へのアクセスをシミュレートする機能を提供しており、ブラウザーによってレンダリングされた最終ページをクロールすることができます。

プロジェクトの開始

コマンド
npm i
npm start
ログイン後にコピー

注意: puppeteer のインストールプロセスは少し時間がかかります。気長にお待ちください。

設定ファイル

技術的なポイント

puppeteer

公式API

puppeteerは、ChromeまたはChromiumを制御するための高レベルのAPIを提供します。

puppeteer 主な機能:

  • Web ページを使用して PDF と画像を生成

  • SPA アプリケーションをクロールし、プリレンダリングを生成コンテンツ (つまり、「SSR」サーバー側レンダリング)

  • Web サイトからコンテンツをキャプチャできます

  • 自動化されたフォーム送信、UI テスト、キーボード入力など

使用する API:

  • puppeteer.launch() ブラウザ インスタンスを起動します

  • ブラウザ .newPage() 新しいページを作成します

  • page.goto() 指定した Web ページを入力します

  • page.screenshot() スクリーンショット

  • ##page.waitFor() ページは時間、特定の要素、または関数を待機します。

  • page.$eval()指定された要素。 document.querySelector

  • ##page.$$eval() と同等。特定のタイプの要素を取得します。 document.querySelectorAll
  • # と同等。 ##page.$( '#id .className') ドキュメント内の要素を取得します。操作は jQuery と似ています
  • コード例
// 配置相关
module.exports =  {
  originPath: 'https://www.ixigua.com', // 页面请求地址
  savePath: 'D:/videoZZ' // 存放路径
}
ログイン後にコピー
ビデオ ファイルのダウンロードメソッド

#ビデオのメインメソッドをダウンロード

    #
const puppeteer = require('puppeteer');
 
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});
 
  await browser.close();
})();
ログイン後にコピー
  • ##ビデオデータを取得

  • ##
    const downloadVideo = async video => {
      // 判断视频文件是否已经下载
      if (!fs.existsSync(`${config.savePath}/${video.title}.mp4`)) {
        await getVideoData(video.src, 'binary').then(fileData => {
          console.log('下载视频中:', video.title)
          savefileToPath(video.title, fileData).then(res =>
            console.log(`${res}: ${video.title}`)
          )
        })
      } else {
        console.log(`视频文件已存在:${video.title}`)
      }
    }
    ログイン後にコピー
    • ビデオ データをローカルに保存する

      #
      getVideoData (url, encoding) {
        return new Promise((resolve, reject) => {
          let req = http.get(url, function (res) {
            let result = ''
            encoding && res.setEncoding(encoding)
            res.on('data', function (d) {
              result += d
            })
            res.on('end', function () {
              resolve(result)
            })
            res.on('error', function (e) {
              reject(e)
            })
          })
          req.end()
        })
      }
      ログイン後にコピー
      対象 Web サイト:
    • 西瓜video
      プロジェクト機能: 見出し番号 [ の下にある最新の 20 本のビデオをダウンロードします。 Weichen Finance]
    • プロジェクト アドレス:

      Github アドレス

    以上がNode がヘッドラインビデオをバッチでクロールして保存する方法 (コード実装)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    壁紙エンジンで別のアカウントにログインした後、他の人の壁紙をダウンロードした場合はどうすればよいですか? 壁紙エンジンで別のアカウントにログインした後、他の人の壁紙をダウンロードした場合はどうすればよいですか? Mar 19, 2024 pm 02:00 PM

    自分のコンピュータで他人の Steam アカウントにログインし、その他人のアカウントに壁紙ソフトウェアがインストールされている場合、自分のアカウントに切り替えた後、Steam は他人のアカウントに登録されている壁紙を自動的にダウンロードします。 Steam クラウドの同期をオフにします。別のアカウントにログインした後に、wallpaperengine が他の人の壁紙をダウンロードした場合の対処方法 1. 自分の steam アカウントにログインし、設定でクラウド同期を見つけて、steam クラウド同期をオフにします。 2. 以前にログインしたことのある他の人の Steam アカウントにログインし、壁紙クリエイティブ ワークショップを開き、サブスクリプション コンテンツを見つけて、すべてのサブスクリプションをキャンセルします。 (将来壁紙が見つからない場合は、まず壁紙を収集してからサブスクリプションをキャンセルできます) 3. 自分の Steam に戻ります。

    115://で始まるリンクをダウンロードするにはどうすればよいですか?ダウンロード方法の紹介 115://で始まるリンクをダウンロードするにはどうすればよいですか?ダウンロード方法の紹介 Mar 14, 2024 am 11:58 AM

    最近、多くのユーザーから、115:// で始まるリンクをダウンロードするにはどうすればよいかという質問が編集者に寄せられました。 115:// で始まるリンクをダウンロードしたい場合は、115 ブラウザを使用する必要があります。115 ブラウザをダウンロードしたら、以下のエディタによって作成されたダウンロード チュートリアルを見てみましょう。 115:// で始まるリンクをダウンロードする方法の紹介 1. 115.com にログインし、115 ブラウザをダウンロードしてインストールします。 2. 115 ブラウザのアドレス バーに chrome://extensions/ と入力し、拡張機能センターに入り、Tampermonkey を検索して、対応するプラグインをインストールします。 3. 115 ブラウザのアドレス バーに「Grease Monkey Script: https://greasyfork.org/en/」と入力します。

    他人の動画をDouyinに投稿することは侵害になりますか?侵害せずにビデオを編集するにはどうすればよいですか? 他人の動画をDouyinに投稿することは侵害になりますか?侵害せずにビデオを編集するにはどうすればよいですか? Mar 21, 2024 pm 05:57 PM

    ショートビデオプラットフォームの台頭により、Douyinはみんなの日常生活に欠かせないものになりました。 TikTokでは世界中の面白い動画を見ることができます。他人のビデオを投稿することを好む人もいますが、「Douyin は他人のビデオを投稿することを侵害しているのでしょうか?」という疑問が生じます。この記事では、この問題について説明し、著作権を侵害せずに動画を編集する方法と、著作権侵害の問題を回避する方法について説明します。 1.Douyin による他人の動画の投稿は侵害ですか?私の国の著作権法の規定によれば、著作権者の著作物を著作権者の許可なく無断で使用することは侵害となります。したがって、オリジナルの作者または著作権所有者の許可なしに他人のビデオをDouyinに投稿することは侵害となります。 2. 著作権を侵害せずにビデオを編集するにはどうすればよいですか? 1. パブリックドメインまたはライセンスされたコンテンツの使用: パブリック

    スーパーピープル ゲームのダウンロードとインストール方法の紹介 スーパーピープル ゲームのダウンロードとインストール方法の紹介 Mar 30, 2024 pm 04:01 PM

    superpeople ゲームは、steam クライアントを通じてダウンロードできます。このゲームのサイズは約 28G です。ダウンロードとインストールには通常 1 時間半かかります。ここでは、具体的なダウンロードとインストールのチュートリアルを紹介します。グローバルクローズドテストへの新しい申請方法 1) Steamストア(Steamクライアントダウンロード)で「SUPERPEOPLE」を検索 2) 「SUPERPEOPLE」ストアページ下部にある「SUPERPEOPLEクローズドテストへのアクセスをリクエスト」をクリック 3) request accessボタン、Steamライブラリで「SUPERPEOPLECBT」ゲームが確認できます 4)「SUPERPEOPLECBT」内のインストールボタンをクリックしてダウンロード

    Quarkネットワークディスクをローカルにダウンロードするにはどうすればよいですか? Quark Network Diskからダウンロードしたファイルをローカルコンピュータに保存する方法 Quarkネットワークディスクをローカルにダウンロードするにはどうすればよいですか? Quark Network Diskからダウンロードしたファイルをローカルコンピュータに保存する方法 Mar 13, 2024 pm 08:31 PM

    多くのユーザーはQuark Network Diskを使用するときにファイルをダウンロードする必要がありますが、ファイルをローカルに保存したいので、どのように設定すればよいでしょうか?このサイトでは、Quark Network Diskからダウンロードしたファイルをローカルコンピュータに保存する方法を詳しくユーザーに紹介します。 Quarkネットワークディスクからダウンロードしたファイルをローカルコンピュータに保存する方法 1. Quarkを開き、アカウントにログインし、リストアイコンをクリックします。 2. アイコンをクリックした後、ネットワークディスクを選択します。 3. Quark Network Diskに入ったら、「My Files」をクリックします。 4. [マイ ファイル] に入ったら、ダウンロードするファイルを選択し、三点アイコンをクリックします。 5. ダウンロードしたいファイルにチェックを入れ、「ダウンロード」をクリックします。

    foob​​ar2000のダウンロード方法は? -foobar2000の使い方 foob​​ar2000のダウンロード方法は? -foobar2000の使い方 Mar 18, 2024 am 10:58 AM

    foob​​ar2000 は、音楽リソースをいつでも聴くことができるソフトウェアです。あらゆる種類の音楽をロスレス音質で提供します。音楽プレーヤーの強化版により、より包括的で快適な音楽体験を得ることができます。その設計コンセプトは、高度なオーディオをコンピュータ上で再生可能 デバイスを携帯電話に移植し、より便利で効率的な音楽再生体験を提供 シンプルでわかりやすく、使いやすいインターフェースデザイン 過度な装飾や煩雑な操作を排除したミニマルなデザインスタイルを採用また、さまざまなスキンとテーマをサポートし、自分の好みに合わせて設定をカスタマイズし、複数のオーディオ形式の再生をサポートする専用の音楽プレーヤーを作成します。過度の音量による聴覚障害を避けるために、自分の聴覚の状態に合わせて調整してください。次は私がお手伝いさせてください

    Douyin に動画を投稿して収益を得るにはどうすればよいですか?初心者はどうやってDouyinでお金を稼ぐことができますか? Douyin に動画を投稿して収益を得るにはどうすればよいですか?初心者はどうやってDouyinでお金を稼ぐことができますか? Mar 21, 2024 pm 08:17 PM

    全国的なショートビデオプラットフォームであるDouyinは、自由な時間にさまざまな興味深く斬新なショートビデオを楽しむことができるだけでなく、自分自身を示し、自分の価値観を実現するステージも提供します。では、Douyin に動画を投稿してお金を稼ぐにはどうすればよいでしょうか?この記事ではこの質問に詳しく答え、TikTokでより多くのお金を稼ぐのに役立ちます。 1.Douyin に動画を投稿してお金を稼ぐにはどうすればよいですか?動画を投稿し、Douyin で一定の​​再生回数を獲得すると、広告共有プランに参加できるようになります。この収入方法はDouyinユーザーにとって最も馴染みのある方法の1つであり、多くのクリエイターにとって主な収入源でもあります。 Douyin は、アカウントの重み、動画コンテンツ、視聴者のフィードバックなどのさまざまな要素に基づいて、広告共有の機会を提供するかどうかを決定します。 TikTok プラットフォームでは、視聴者がギフトを送ったり、

    小紅書ビデオ作品を公開するにはどうすればよいですか?動画を投稿する際に注意すべきことは何ですか? 小紅書ビデオ作品を公開するにはどうすればよいですか?動画を投稿する際に注意すべきことは何ですか? Mar 23, 2024 pm 08:50 PM

    短編ビデオ プラットフォームの台頭により、Xiaohongshu は多くの人々が自分の生活を共有し、自分自身を表現し、トラフィックを獲得するためのプラットフォームになりました。このプラットフォームでは、ビデオ作品の公開が非常に人気のある交流方法です。では、小紅書ビデオ作品を公開するにはどうすればよいでしょうか? 1.小紅書ビデオ作品を公開するにはどうすればよいですか?まず、共有できるビデオ コンテンツがあることを確認します。携帯電話やその他のカメラ機器を使用して撮影することもできますが、画質と音声の明瞭さには注意する必要があります。 2.ビデオを編集する:作品をより魅力的にするために、ビデオを編集できます。 Douyin、Kuaishou などのプロ仕様のビデオ編集ソフトウェアを使用して、フィルター、音楽、字幕、その他の要素を追加できます。 3. 表紙を選択する: 表紙はユーザーのクリックを誘致するための鍵です。ユーザーのクリックを誘致するために、表紙には鮮明で興味深い写真を選択してください。

    See all articles