2015-11-02 38 views
1

我在YouTube播放列表中看到了兩種類型的網址。第一個是這樣的: https://www.youtube.com/playlist?list=PLCB9F975ECF01953C適合抓取特定視頻網址的YouTube合適的網址格式

當你點擊「全部播放」按鈕,然後在URL播放列表改成這樣: https://www.youtube.com/watch?v=otm9NaT9OWU&list=PLCB9F975ECF01953C

大多數URL抓取器的工作原理與第一種類型的URL。例如,我可以用this one方式如下:

./playlist2links.sh PLCB9F975ECF01953C 

現在我的播放列表(實際上它是一個YouTube視頻合輯不播放列表),它的網址是這樣的:

https://www.youtube.com/watch?v=UiInBOVHpO8&list=RDQ23sJ-emqds&index=27 

我如何轉換這個網址適當的格式?我試過以下,但都給出了錯誤:

https://www.youtube.com/playlist?list=RDQ23sJ-emqds&index=27 
https://www.youtube.com/playlist?list=RDQ23sJ-emqds 

編輯: 我試過也是繼:

┌─[[email protected]~/yt] [12 files, 60Kb] 
└──> youtube-dl --version 
2015.11.01 

┌─[[email protected]~/yt] [12 files, 60Kb] 
└──> youtube-dl -v -s https://www.youtube.com/watch?v=UiInBOVHpO8&list=RDQ23sJ-emqds&index=27 
[1] 5872 
[2] 5873 
[2]+ Done     list=RDQ23sJ-emqds 

┌─[[email protected]~/yt] [12 files, 60Kb] 
└──> [debug] System config: [] 
[debug] User config: [] 
[debug] Command-line args: [u'-v', u'-s', u'https://www.youtube.com/watch?v=UiInBOVHpO8'] 
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8 
[debug] youtube-dl version 2015.07.28 
[debug] Python version 2.7.10 - Linux-3.16.0-4-amd64-x86_64-with-debian-stretch-sid 
[debug] exe versions: avconv 11.4-6, avprobe 11.4-6, ffmpeg 0.8.17-6 
[debug] Proxy map: {} 
[youtube] UiInBOVHpO8: Downloading webpage 
[youtube] UiInBOVHpO8: Downloading video info webpage 
[youtube] UiInBOVHpO8: Extracting video information 
[youtube] UiInBOVHpO8: Downloading DASH manifest 
[youtube] UiInBOVHpO8: Downloading DASH manifest 

[1]+ Done     youtube-dl -v -s https://www.youtube.com/watch?v=UiInBOVHpO8 

的一個選項是部分工作是要顯示給定頁面的源代碼,只需搜索包含data-video-title模式的行。同一行上還有視頻data-video-id,可以重建給定的視頻網址。問題是,youtube-mix是動態生成的,並且這不適用於播放列表中最近的幾個視頻(那些是灰色的),另一個問題是這不起作用,例如,與wget不知道爲什麼。

回答

2

https://www.youtube.com/watch?v=UiInBOVHpO8&list=RDQ23sJ-emqds&index=27 是「youtube-mix」,而不是由某人手動創建的列表。

Youtube-dl做檢測列表URL的適當工作,你可能想看看它的代碼,看看它是如何檢測播放列表的URL。

請注意,它有一個選項--get-id直接返回視頻ID,它可能會解決您的問題,作爲playlist2links.sh的替代品。

+0

謝謝你的回覆。我編輯了這個問題。 –