如何获取使用PHP/cURL调用JSON文件的网站的内容


How to get content of a website which calls a JSON file using PHP/cURL

有一个超市网站,我需要获得产品名称和价格数据的列表。网站是:http://www.sanalmarket.com.tr/kweb/sclist/30011-tum-meyveler

然而,我不能成功地获得这些内容。每次尝试都以空结果结束。我不熟悉cURL,但建议我克服这个问题。正如我所看到的,产品列表是用Ajax-JSON调用的,因此,我应该使用PHP按照请求查看JSON文件及其内容。。。但是怎么做呢?

提前谢谢。

我试过的代码:

<?php
$url="https://www.sanalmarket.com.tr/kweb/sclist/30011-tum-meyveler";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
var_dump(json_decode($result, true));
?>

您的curl请求确实有效,并且您在$result变量中得到了html响应。问题是,您将html响应字符串视为有效的JSON字符串。

而不是

var_dump(json_decode($result, true));

尝试

var_dump($result);

此处$result不是有效的JSON字符串。它是一个字符串,包含服务器响应的html。因此,如果不使用html解析器,就无法将其直接解析为数组或对象。