За последние 24 часа нас посетили 17959 программистов и 1642 робота. Сейчас ищут 1286 программистов ...

Не получается спарсить страницу

Тема в разделе "Регулярные выражения", создана пользователем TigerZaka, 8 дек 2013.

  1. TigerZaka

    TigerZaka Активный пользователь

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    Всем привет!
    Использую simple_html_dom
    Не получается вытянуть информацию со страницы:
    Код (Text):
    1.  
    2. <div class="content">
    3.     <h1>Заголовок</h1>
    4.     <p class="update">дата публикации</p>
    5.     <div class="picta">Изображение</div>
    6.     <p>параграф-1</p>
    7.     <p>параграф-2</p>
    8.     <p>параграф-N</p>
    9.     <div class="clear"></div>
    10.     <p class="jj"><strong>Ссылка на источник</strong></p>
    11.     <h3 class="nl">....</h3>
    12.     <div class="info">...</div>
    13.     <script type="text/javascript">...</script>
    14.     <div class="pages clearfix">
    15.         <div class="title">...</div>
    16.         <div class="prev">
    17.             <div class="arm">&larr;</div>
    18.             <div class="link"><a href="#">...</a></div>
    19.         </div>
    20.         <div class="next">
    21.             <div class="arm">&rarr;</div>
    22.             <div class="link"><a href="#">...</a></div>
    23.         </div>
    24.         <div class="clear"></div>
    25.     </div>
    26. </div>
    Код (Text):
    1.  
    2. $html = file_get_html ( 'link' );
    3.  
    4. foreach ( $html->find ( '.content' ) as $article ) {
    5.     $item ['title'] = $article->find ( 'h1', 0 )->plaintext;
    6.     $item ['author'] = $article->find ( '.jj', 0 )->plaintext;
    7.     $articles [] = $item;
    8. }
    Нужно вытащить только: заголовок, параграфы (количество может быть разное) и ссылку на источник.
    Подскажите, как зацепить параграфы, регулярки или так же с помощью simple_html_dom?
    Я так понимаю, тут несколько этапов будет?
     
  2. Dmitriy427

    Dmitriy427 Новичок

    С нами с:
    30 окт 2013
    Сообщения:
    53
    Симпатии:
    0
    Код (Text):
    1. foreach ( $html->find( '.content' ) as $article ) {
    2.    foreach ( $article->find( 'p' ) as $p ) {
    3.         if ( ! $p->class ) $item['paragraph'][] = $p->plaintext;
    4.    }
    5. }
     
  3. TigerZaka

    TigerZaka Активный пользователь

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    Спасибо! То, что надо