使用 lynx 浏览器从 soundcloud 页面提取所有链接

使用 lynx 浏览器从 soundcloud 页面提取所有链接

要从站点中提取 url,通常运行以下命令就足够了:

lynx -dump -listonly https://soundcloud.com/grubstakers > urls.txt

但我只得到最新的剧集,而不是所有剧集的网址(以及一些虚假网址)。

是否可以使用 lynx 浏览器执行此操作,或者当我们在 GUI 浏览器中向下滚动时,javascript 负责加载其余链接吗?

答案1

你可以使用这样的东西:

https://api-v2.soundcloud.com/stream/users/394696287?client_id=qWUPqUOvYPTG1SDjwXJCNm9gOwM3rNeP&limit=200

返回 146 个条目,我相信这就是他们目前拥有的全部。对于更有生产力的艺术家,您需要使用分页。以下是 PHP 的示例,但您可以使用支持 HTTP 和 JSON 的任何语言来执行此操作:

<?php
$s1 = 'https://api-v2.soundcloud.com/stream/users/394696287';
$s2 = http_build_query([
   'client_id' => 'qWUPqUOvYPTG1SDjwXJCNm9gOwM3rNeP',
   'limit' => 200
]);
$s3 = file_get_contents($s1 . '?' . $s2);
$o1 = json_decode($s3);
foreach ($o1->collection as $o2) {
   echo $o2->track->permalink_url, "\n";
}

相关内容