有一个超市网站,我需要获得产品名称和价格数据的列表。网站是: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解析器,就无法将其直接解析为数组或对象。