PHP#FUT取得价格

时间:2018-10-27 05:06:21

标签: php preg-match preg-match-all

我有问题。我想使用preg_match获得价格播放器,但得到“-”。

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.futbin.com/19/player/353/Sergio%20Busquets/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_USERAGENT, "Google Bot");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$downloaded_page = curl_exec($ch);
curl_close($ch);
preg_match_all('/<div\s+class="bin_price lbin">(.*)<\/div>/', $downloaded_page, $title); 
echo "<pre>";
foreach ($title[1] as $realtitle) {
    echo $realtitle . "\n";
}
echo "</pre>";

1 个答案:

答案 0 :(得分:0)

如果您查看页面的源代码,您将看到为什么要收集此“-”

<div class="bin_price lbin">
   <span class="price_big_right">
      <span id="ps-lowest-1">-</span>
   </span>
</div>

您将无法通过CURL执行该任务,因为这些值是异步加载的,并且curl可以通过右键单击浏览器并选择查看源代码来获取可以查看的确切源代码(这与使用镀铬底座或萤火虫(f12)。

解决方案是使用可以由任何编译语言(python,java,c ++)编程的浏览器自动化软件。我建议使用硒Web浏览器。

https://www.seleniumhq.org/docs/