PHP cURL只返回网站的一小部分

时间:2017-11-01 13:18:14

标签: php curl

我试图抓住这个网址

https://coop.no/sortiment/obs-bygg/hageuterom/hagemaskiner/hoyttrykksspylere/karcher-1.673-220.0?variantCode=10695

使用此代码

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://coop.no/sortiment/obs-bygg/hageuterom/hagemaskiner/hoyttrykksspylere/karcher-1.673-220.0?variantCode=10695');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, 0);

$output = curl_exec($ch);

if($output === FALSE){
    echo "cURL Error: " . curl_error($ch);
}

curl_close($ch);
print_r($output);
?>

我的问题是,return(image of display)中我唯一得到的是来自网站的<ul class="breadcrumbs">以及其他一些空元素。完全没有错误。

1 个答案:

答案 0 :(得分:0)

您的代码似乎没问题,它会获取网址的内容,但更好的方式是显示它:

echo "<pre>".htmlspecialchars(print_r($output, 1))."</pre>";

您在页面上看到的所有数据最初都存储在JS中:

 window.PRODUCT_PAGE_PROPS = ...

然后由React呈现为HTML。因此,要首先提取数据,您应该找到带有正则表达式的script块,然后解析它的内容。