【发布时间】:2014-11-29 20:02:49
【问题描述】:
有一个超市网站,我需要获取产品名称和价格数据列表。 网址是: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));
?>
【问题讨论】:
-
@mithunsatheesh 已添加。
-
为什么不直接调用json请求呢?如果它是动态的,您需要将网站下载到字符串 (
file_get_contents) 并提取 url 可能使用DomDocument或Regex。试试看,如果你有一个特定的问题,你可以问。对我来说,这是在目前的状态下广泛使用的方式。 -
我查看了页面结构和加载产品的 Ajax/JSON 请求,据我所知,我认为您无法轻松获得所需的信息.首先,您在 CURL 中使用的 URL 是针对网页本身的,而不是针对返回产品信息的 URL。其次,产品信息 URL 仅在您发送有效 cookie 时返回一个值,因此您需要一种从原始 URL 获取 cookie、存储它,然后使用它来抓取 AJAX URL 的方法。我希望这会有所帮助。
-
@hargobind 多亏了你,我至少有了一个路线图。从 URL 获取 cookie 列表对我有帮助,不是吗?