Не удается получить определенный элемент с веб-страницы - PullRequest
0 голосов
/ 05 октября 2018

Я написал скрипт в php , чтобы очистить номер телефона и адрес электронной почты с веб-страницы.Когда я выполняю свой следующий скрипт, я получаю номер телефона , но в случае адрес электронной почты я получаю этот фрагмент текста Электронная почта .

Два поля, которые мне нужны, находятся под этим заголовком Sterling Systems & Control Inc. на этой веб-странице.

Это сайтадрес

Моя попытка получить их до сих пор:

<?php
    include "simple_html_dom.php";
    function curlGet($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $results = curl_exec($ch);
        curl_close($ch);
        $dom = new simple_html_dom();
        $dom->load($results);
        return $dom;
    }
    $data = curlGet('https://us.kompass.com/a/grinding-machinery-and-equipment-for-the-food-industry/49030/');
    foreach($data->find("div.list-buttons-container") as $item){
        $phone = $item->find("#freePhone--US947504",0)->value;
        $email = $item->find("[class='coordonneesItemLink'] .coordinate-item-text",1)->innertext;
        echo "{$phone} {$email}<br>";
    }
?>

Вывод, который я получаю в данный момент (вместо адреса электронной почты я получаю только текст ниже):

+1 8156250852 Email

Вот как они видны на этом сайте: enter image description here

1 Ответ

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

Вы не можете.

Кнопка адреса электронной почты открывает диалоговое окно, которое позволяет вам отправить электронное письмо владельцу соответствующего продукта (или что бы то ни было).Адрес электронной почты, скорее всего, хранится в базе данных и извлекается только в том случае, если вы действительно отправляете письмо через форму.

Если адрес электронной почты отсутствует на странице, вы не сможете его получить.

...