Lynxブラウザを使用してサウンドクラウドページからすべてのリンクを抽出する

Lynxブラウザを使用してサウンドクラウドページからすべてのリンクを抽出する

サイトから URL を抽出するには、通常、次のコマンドを実行すれば十分です。

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

ただし、すべてのエピソードURL(および一部の偽URL)ではなく、最新のエピソードのみを取得します。

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";
}

おすすめ記事