我使用以下代码从soundcloud.com获取搜索结果。虽然URL从浏览器中提取搜索结果,但是回显cURL结果会提取404 /"页面未找到"错误。
如果这有帮助 - >如果我注释掉useragent行,我可以显示该域中的其他URL,但不能显示搜索结果。我可以看到的页面状态"您正在使用较旧版本的Sound Cloud"。
<?php
$url = 'https://soundcloud.com/search?q=a';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13',
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_URL => $url));
$resp = curl_exec($curl);
echo $resp;
echo curl_error($curl);
curl_close($curl);
?>
答案 0 :(得分:1)
您需要使用 SoundCloud API 来搜索所有内容。
我捕获了soundcloud搜索包,看看:
soundcloud官方网站搜索使用的是ajax和 SoundCloud API 。因此,您无法使用代码获取搜索结果。 (当你使用PhantomJS时它是可能的,但效率非常低)
请访问SoundCloud API Documentation页面。创建自己的应用程序并生成api令牌以访问soundcloud搜索API。
添加:此链接对您非常有帮助:https://github.com/davidmh/CakePHP-SoundcloudSearch-Plugin/blob/master/Controller/Component/SoundcloudSearchComponent.php