私は400曲の曲のリストを得て、検索結果ページにハイパーリンクさせました。 Example pictureyoutube-dlでYoutubeの各検索結果から最初の動画をダウンロードしますか?
私はyoutube-dlとJ Downloaderの両方を持っていますが、youtube-dlで動画の検索URLのリストから高品質のmp3をダウンロードするために必要なパラメータはわかりません。私はmp3としてすべての検索から最初のビデオをダウンロードしたいだけです。
私は400曲の曲のリストを得て、検索結果ページにハイパーリンクさせました。 Example pictureyoutube-dlでYoutubeの各検索結果から最初の動画をダウンロードしますか?
私はyoutube-dlとJ Downloaderの両方を持っていますが、youtube-dlで動画の検索URLのリストから高品質のmp3をダウンロードするために必要なパラメータはわかりません。私はmp3としてすべての検索から最初のビデオをダウンロードしたいだけです。
私は オーディオをダウンロードするために使用するRubyスクリプト(ユーチューブ-dlを超えるラッパーを)書いた - あなたはhere
オーディオを抽出したコードがある、それを見ることができます:
これによりDESTINATION_PATH="/home/max/Downloads"
URL="https://www.youtube.com/watch?v=cASW7BFWf6U"
cd $DESTINATION_PATH && youtube-dl --extract-audio --prefer-ffmpeg --audio-format mp3 --yes-playlist --audio-quality 3 $URL`
HTML解析ライブラリを使用して、最初のビデオを取得することができます YouTubeの検索結果。私は個人的にノコギリの経験があります。 とhere コマンドラインツールを使うことができます。例えば
、
CSS_SELECTOR="#selector_of_the_first_video"
curl -s $URL | nokogiri -e 'puts $_.at_css("$CSS_SELECTOR").text'
あなたの質問は正確にあなたがあなたのリストの残りの部分でやろうとしていること、それが何であるかを説明していません。とにかく、私は最初のリンクのMP3を得る方法を示します。
今すぐ
$file = 'path_to_file';
$data = file_get_contents($file);
ターンリスト配列
$songs_list = explode(",", $data);
設定したカウントにPHPでファイル全体をフェッチループスルー配列
foreach ($songs_list as $key => $song) {
if ($count == 1) {
$commad = 'youtube-dl --extract-audio --audio-format mp3 youtube_video_url_here';
shell_exec($commad); // now audio of first video will be downloaded as MP3
} else {
// do the rest of your work on list
}
}
以下 完全なスクリプトが
<?php
$file = 'path_to_file';
$data = file_get_contents($file);
$songs_list = explode(",", $data);
$count = 1;
foreach ($songs_list as $key => $song) {
if ($count == 1) {
$commad = 'youtube-dl --extract-audio --audio-format mp3 youtube_video_url_here';
shell_exec($commad); // now audio of first video will be downloaded as MP3
} else {
// do the rest of your work on list
}
}
?>