2014-12-02 1 views
-1

Мне нужно показать некоторые новости с веб-страницы, поэтому мне нужно извлечь данные с веб-сайта. Но я не могу извлечь данные в виде следующего кода:Как очистить данные с веб-страницы?

$html=file_get_html("http://listverse.com/2014/12/01/10-times-us-foreign-policy-was-wildly-inconsistent/"); 
    foreach($html->find('article h2') as $element) 
    { 
     echo "<h2>".$element->plaintext."</h2>"."<br>"; 

     foreach ($html->find('article h2 p') as $element1) { 

      echo "<pre>";print_r($element1->plaintext); 
     } 

Но у меня есть правильный заголовок, но каждый абзац является излишним.

+0

Это действительно грязный метод получения данных с этого новостного сайта. Когда вы смотрите в исходный код, вы можете видеть, что есть .rss-канал. Почему бы вам не использовать эту функцию для извлечения данных? Например: http://listverse.com/feed/ И одно для вашего сообщения: http://listverse.com/2014/12/01/10-times-us-foreign-policy-was -wildly-inconsistent/feed/ – Duikboot

+0

rss не имеет полной информации – kavita

+0

Обратите внимание, что копирование новостей на другом веб-сайте и их повторная публикация, вероятно, нарушают авторские права. – Quentin

ответ

1

Пункты следуют за заголовками, они не являются потомками их (и HTML не позволяет абзацам спускаться с заголовков в любом случае).

Получив заголовки, вам нужно взглянуть на своих братьев и сестер (например, перебирать их, пока не получите тот, который не является абзацем или является другим заголовком).

+0

есть какое-либо решение для этого – kavita

+0

Да. См. Второй абзац ответа. – Quentin

+0

может помочь мне по коду, я новичок в scrape ??? @Quentin – kavita

Смежные вопросы