我在youtube上有一个歌曲播放列表,我想使用Scrapy下载所有歌曲,但我只能看到前30首歌曲的标题



我在YouTube上有一个歌曲播放列表,里面有100多首歌曲,我想使用Scrapy下载所有歌曲,但我只能看到列表中前30首歌曲的标题。请向我建议一种从我的播放列表中获取所有歌曲的方法。

到目前为止的代码:

import scrapy
from bs4 import BeautifulSoup
class Playlist_Scraper(scrapy.Spider):
name = 'find_playlist'
def start_requests(self):
urls =[
'https://www.youtube.com/watch?v=_tNU6dpjIyM&list=RD_tNU6dpjIyM',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
print(response.css('ahref').attrib['href'])

'https://www.youtube.com/watch?v=_tNU6dpjIyM&list=RD_tNU6dpjIyM' 的内容

从一些 JSON 元数据开始,例如,如果您搜索"某处",您会注意到"链接公园 - 我所属的某个地方"的链接数据在那里。 您只需要提取确切的行。

它是一个具有以下结构的脚本标记:

<script >
window["ytInitialData"] = {"responseContext": "<data containing all the songs"....}
window["ytInitialPlayerResponse"] = {<more meta data not sure what is is for"}
</script>

相关内容

最新更新