PHP # FUT получить цену - PullRequest
       26

PHP # FUT получить цену

0 голосов
/ 27 октября 2018

У меня проблема.Я хочу получить цену игрока, используя preg_match, но я получаю "-".

<code><?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 "
";

1 Ответ

0 голосов
/ 27 октября 2018

Если вы проверите исходный код страницы, вы увидите, почему вы собираете это "-"

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

Вы не сможете выполнить эту задачу с помощью CURL, поскольку значения загружаются асинхронно, и curl получает именно тот исходный код, который вы можете просмотреть, щелкнув правой кнопкой мыши браузер и выбрав просмотр исходного кода (это не то же самое, что использование хромированная док-станция или пожарный (f12).

Решением для этого является использование программного обеспечения для автоматизации браузера, которое может быть запрограммировано на любом скомпилированном языке (python, java, c ++). Я рекомендую селен веб-браузер.

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

...