2014-10-05 71 views
1

有一家超市网站,我需要获取产品名称和价格数据列表。 网站是:http://www.sanalmarket.com.tr/kweb/sclist/30011-tum-meyveler如何获取使用PHP/cURL调用JSON文件的网站内容

但是,我无法获得这个成功的内容。每次尝试都以空结果完成。我不熟悉cURL,但建议我解决这个问题。正如我所看到的,使用Ajax调用产品列表 - 因此,我应该按照请求使用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)); 

?> 
+0

显示您的代码。 – mithunsatheesh 2014-10-05 09:37:35

+0

@mithunsatheesh 它被添加。 – 2014-10-05 09:50:31

+0

为什么不直接调用json请求?如果它是动态的,则需要将网站下载到字符串('file_get_contents'),并使用'DomDocument'或'Regex'提取网址。尝试一下,如果你有特定的问题,你可以问。对我而言,这是目前国家广泛采用的方式。 – 2014-10-05 09:53:50

回答

1

你卷曲的要求做的工作,你所得到的$result变量HTML响应。问题在于你正在将html响应字符串视为有效的JSON字符串。

代替

var_dump(json_decode($result, true)); 

尝试

var_dump($result); 

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

+0

请提供downvote的理由? – mithunsatheesh 2014-10-05 10:00:18

+0

不是我的投票。我没有足够的代表来投票。你是对的。现在我可以看到一些东西,但仍然不是我想要的东西。我的错。 – 2014-10-05 10:04:42

+0

@DorukhanArslan:回应是html,你将它传递给json解码。所以json解码期望有效的json字符串,并且你可以提供一个。 – mithunsatheesh 2014-10-05 10:06:33

相关问题