Это мой код. Кто-то набирает в <input name='countryname'>
одно название страны, например, Испания, и программа очищает все данные из link
. приведение случаев covid-19, смертей .. и т. д. c
if(!empty($_POST['countryname'])){
$str = $_POST['countryname'];
}
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://www.worldometers.info/coronavirus/country/'.$str);
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$html = curl_exec($ch);
curl_close($ch);
$DOM = new DOMDocument;
libxml_use_internal_errors(true);
$DOM->loadHTML($html);
$elements = $DOM->getElementsByTagName('span');
echo "<br><br><br><div class='container text-center' style = 'font-weight : bold'>";
echo "<span style class='words'>CoronaVirus Cases : </span>" . $elements->item(4)->nodeValue . "<br>";
echo "<span style class='words'>Deaths : </span>" . $elements->item(5)->nodeValue . "<br>";
echo "<span style class='words'>Recovered : </span>" . $elements->item(6)->nodeValue . "<br>";
echo "<div>";
Моя проблема заключается в том, что я пытаюсь написать для этой программы с меньшим количеством кода и вывести тот же результат .. используя этот код.
require 'lib/simple_html_dom.php';
if(!empty($_POST['countryname'])){
$str = $_POST['countryname'];
}
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://www.worldometers.info/coronavirus/country/'.$str);
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$html = curl_exec($ch);
curl_close($ch);
$dom = file_get_html($html);
$data = $dom->find('div[class=maincounter-number] span');
echo "Coronavirus Cases: ".$data[0]->plaintext."<br>";
echo "Deaths: ". $data[1]->plaintext."<br>";
echo "Recovered: ". $data[2]->plaintext."<br>";
Я получаю такие ошибки, как Uncaught Error: Call to a member function find() on bool
или warning: file get contens()
, и выдает необработанный вывод html .. часть с простым html dom работает нормально, что я тестировал. Есть идеи, что происходит? thnx