Php Symfony 4 crwaler亚马逊页面

Php Symfony 4 crwaler亚马逊页面,php,symfony4,guzzle,domcrawler,Php,Symfony4,Guzzle,Domcrawler,尝试从以下两个链接获取产品的默认价格: 链接1-https://www.amazon.com/Apple-MacBook-15-inch-256GB-Storage/dp/B07RZWRHTS/ 链接2-https://www.amazon.com/gp/product/B013GVDTI4/ 使用GuzzleHttp和Crawler,我可以通过以下方式从链接1成功获取价格: $jar=new-CookieJar(); $client=新客户端([ “cookies”=>$jar, “标题”=>

尝试从以下两个链接获取产品的默认价格: 链接1-
https://www.amazon.com/Apple-MacBook-15-inch-256GB-Storage/dp/B07RZWRHTS/
链接2-
https://www.amazon.com/gp/product/B013GVDTI4/

使用GuzzleHttp和Crawler,我可以通过以下方式从链接1成功获取价格:

$jar=new-CookieJar();
$client=新客户端([
“cookies”=>$jar,
“标题”=>[
“主机”=>“www.amazon.com”,
“用户代理”=>“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/42.0.2311.90 Safari/537.3”,
'Accept'=>'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
“接受语言”=>“en US,en;q=0.5”,
'接受编码'=>'gzip,deflate,br',
“连接”=>“关闭”,
“升级不安全请求”=>“1”,
“缓存控制”=>“最大年龄=0”,
“TE”=>“拖车”,
],
]);
$response=$client->request('GET',$url);
$crawler=newcrawler($response->getBody()->getContents());
$price=$crawler->filter(“#priceblock_ourprice”)->文本(0,true);
第二个链接返回空节点

'nodes' => 
    array (size=0)
      empty
在浏览器中打开时,页面结构几乎相同。两种价格都存在。
知道为什么吗?

我现在没有一台可以测试的机器,但我建议先将HTML保存到磁盘,以便您可以检查并比较它是否与您的浏览器相同。是的,输出HTML有差异,其中一台没有价格块,此外,如果我通过匿名模式进入此链接,也没有带有“可从这些卖家处获得”的“仅价格”按钮,可能是由于我的标题请求造成的?我现在没有可以测试的机器,但我建议先将HTML保存到磁盘,以便您可以检查并比较它是否与您的浏览器相同。是的,输出HTML中存在差异,其中一个HTML中没有带价格的块,而且如果我通过匿名模式进入此链接,也没有带“可从这些卖家处获得”的“仅价格”按钮,也许是因为我的要求?