Извлечение данных из HTML с использованием PHP и xPath

Я пытаюсь извлечь данные из веб-страницы, чтобы вставить их в базу данных. Данные, которые яя заинтересован в том, чтобы вы, которые имеют класс = "Компания", На одной веб-странице есть 15 или меньше div 'Это так, и есть много страниц, с которых я пытаюсь извлечь эти данные. По этой причине я пытаюсь найти автоматическое решение для извлечения данных.

Div с классом = "Компания" выглядит следующим образом (на одной странице может быть 15 или меньше элементов типа div с разными данными):

 

  
    
      
        <a href="/company-name">Company Name</a>  
        <a href="/branches-list-link?parent_id=6666" class="branches">Branches <span>(5)</span></a>                
      
    
  

  

              
      
        <a href="/company-name">
          <img src="/graphics/company/logo/listing/123456.jpg?_ts=1365390237" border="0" alt=""> 
        </a>
      
      
        StreetName 500, 7777 City, County 
        
          Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ac condimentum mi. 
        
      
    

    
                    
        <span class="phone-number">6666666</span> 
        <a href="mailto:[email protected]" target="_blank" title="[email protected]" class="email">[email protected]</a> 
        <a href="http://www.webpage.com" target="_blank" title="www.webpage.com" class="redirect url">www.webpage.com</a> 
      
    

  


Пока у меня есть следующий код PHP ($ output имеет веб-страницу 's HTML code):

loadHTML($output);
$doc->preserveWhiteSpace = false; 

$xpath = new DomXPath($doc);

$elements = $xpath->query("//*[@class='company']");

if (!is_null($elements)) {
    foreach ($elements as $element) {
        echo $element->nodeValue;
    }
}

?>

Кажется, он получает все 15с классом = "Компания" но я понятия не имею, как извлечь ранее упомянутые (в комментариях HTML-кода) отдельные значения.

Каждый div (я говорю о div с классом = "Компания") неВсе значения записаны в блоке HTML. Так или иначе, я должен сделать запрос, если конкретный div внутри div компании, где данные яЯ заинтересован, существует и, если он существует, я должен проверить, если он не пустой (содержит текст между тегами или нет). Если он существует и не пуст, я добавляю его в переменную.

После того, как значения извлечены, я хотел бы назначить их переменным PHP, которые позволяютПозвольте мне работать с ними потом. Было бы еще лучше, если извлеченные значения помещаются в массив следующим образом:

$result = array(
    // 1'st div's data
    [0] =>  
        'company name' => 'company name',
        'company link' => 'company link',
        'company id' => 'company id',
        'company branches'  => 'branches link',
        'company logo'  => 'logo',
        'company address'  => 'address',
        'company slogan'  => 'slogan',
        'company webpage'  => 'webpage',
        'company email'  => 'email',
        'company phone'  => 'phone'

    // 2'nd div's data
    [1] =>  
        'company name' => 'company name',
        'company link' => 'company link',
        'company id' => 'company id',
        'company branches'  => 'branches link',
        'company logo'  => 'logo',
        'company address'  => 'address',
        'company slogan'  => 'slogan',
        'company webpage'  => 'webpage',
        'company email'  => 'email',
        'company phone'  => 'phone'
    ...
    )

Ответы на вопрос(2)

Ваш ответ на вопрос