Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 03.11.2017
Сообщений: 36

Вытащить данные из блока div

07.09.2018, 08:07. Показов 4586. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется блок, допустим это <div> с class=myclass, с этого блока я вытаскиваю заголовки:
PHP
1
2
3
4
5
include_once 'simple_html_dom.php';
$html = file_get_html('any_saytik');
 
     foreach($html->find('div[class="myclass"]') as $element)
      echo $element;;
структура класса имеет вид:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
 <div class="myclass">
                <div><div><div>
                                <h3>Заголовок</h3>
                                <ul>
                                    <li>
                                            <a href="/rus/index/docs/dt=2018-" title="2018">
                                                2018 </a>
                                            (6302)
                                        </li>
                                </ul>
                            </div></div></div>
            </div>
при переходе по заголовку там еще несколько заголовков 5-7 штук со структурой
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
            <div class="class">
                    
                                
            
            <h4 class="post">
                <span class="post_number">1.</span>
                <a href="/rus/docs/S1800000003">Документ</a>
            </h4>
        
                                
            <span class="status">Новый</span>
            
            
        
                                <p>Описание документа</p>
                                
                            
                </div>
Интересно именно 2 момента:

Как парсить вложенные ссылки и конечные документы с выводом на экран заголовков и возможностью перехода внутрь как в оригинале сайта и нужно это все в бд ложить себе структурой Заголовок/ подзаголовок/ текст документа
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2018, 08:07
Ответы с готовыми решениями:

Как посредством Jquery вытащить данные из div
Здравствуйте. Мучаюсь уже долго)) Не могу вытащить значение div по id Имеется данные которые берутся с базы &lt;div...

Как вытащить все что между <div и </div> в html коде страницы?
часть html кода страницы: ..................... &lt;div class=&quot;labeled name&quot;&gt;&lt;a href=&quot;/kartashov_dima&quot; onclick=&quot;return nav.go(this,...

Размещение нескольких блоков div внутри другого блока div
Хочу сделать шапку веб-страницы. Прикреплю ниже небольшую схему того, как она будет выглядеть. Хочу текст разместить в левой части шапки с...

17
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
07.09.2018, 08:31
Цитата Сообщение от glaih Посмотреть сообщение
и возможностью перехода внутрь как в оригинале сайта и нужно это все в бд ложить себе структурой Заголовок/ подзаголовок/ текст документа
Кажется как-то заморочено будет. Вы хотите спарсить чей-то сайт ?
1
0 / 0 / 0
Регистрация: 03.11.2017
Сообщений: 36
07.09.2018, 09:03  [ТС]
да, а как сделать проще?
покажите на примере может каком нибудь
спасибо
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
07.09.2018, 10:03
Цитата Сообщение от glaih Посмотреть сообщение
да, а как сделать проще?
использовать другой язык программирования
0
0 / 0 / 0
Регистрация: 03.11.2017
Сообщений: 36
07.09.2018, 10:32  [ТС]
аа нет, в этом случае нужно на именно php

спасибо Вам, эхх, битый час бьюсь
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
07.09.2018, 11:08
ты хочешь вытащить текст из этого блока?
1
0 / 0 / 0
Регистрация: 03.11.2017
Сообщений: 36
07.09.2018, 11:12  [ТС]
да текст и запихать это все в базу данных
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
07.09.2018, 11:14
чтобы вытащить текст есть команда
PHP
1
2
// Dump contents (without tags) from HTML
echo file_get_html('http://www.google.com/')->plaintext;
1
0 / 0 / 0
Регистрация: 03.11.2017
Сообщений: 36
07.09.2018, 11:20  [ТС]
понятно..
а как это все сделать?

всмысле получить текст второй и 3 уровень вложенности
заголовок я пропарсил первый
PHP
1
2
3
4
$html = file_get_html('any_saytik')->plaintext;
 
     foreach($html->find('div[class="myclass"]') as $element)
      echo $element;
покажите пожалуйста как дальше
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
07.09.2018, 11:26
эм, ну как бы команда plaintext убирает все теги html , так что то что ты привел уже не будет работать

что ты хочешь вытащить из блока со ссылками я тоже не понял
1
0 / 0 / 0
Регистрация: 03.11.2017
Сообщений: 36
07.09.2018, 14:32  [ТС]
Нашел в интернете пример реализации, буду БЛАГОДАРЕН если получится адаптировать его под мои задачи.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?PHP
    session_start();    
    header('Content-type: text/html; charset=utf-8');
    require 'phpQuery.php';
     
    function parseArticle($url){
        $file = file_get_contents($url);
        $doc = phpQuery::newDocument($file);
        $text = $doc->find('.post-body')->html(); //парсинг содержания публикаций (по ссылками)
        print_arr($text);
    }
     
     
    function print_arr($arr){
      echo '<pre>' . print_r($arr, true) . '</pre>';
    }
     
    $url = 'http://goruzont.blogspot.com/';
    $file = file_get_contents($url);
     
    $doc = phpQuery::newDocument($file);
     
    $_SESSION["buf"]=array();    
    $iLink=1;
    foreach($doc->find('.blog-posts .post-outer .post') as $article){
        $article = pq($article);
        $text = $article->find('.entry-title a')->html(); //парсинг заголовков
        print_arr($text);
        $texturl = $article->find('.entry-title a')->attr('href'); //парсинг ссылок
        parseArticle($texturl);
       
       $buf[$iLink]=array($article,$text);
       ?>
       <a href="<?=$texturl."?iLink=$iLink";?>"><?=$text?></a>
       <?
       $iLink++;
    }
    $_SESSION["buf"]=$buf;
    ?>
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
07.09.2018, 15:58
glaih, ну в этом примере просто используется библиотека phpQuery. Тут не адаптировать надо, а выкинуть всё кроме require 'phpQuery.php'; и писать конкретно под ваш случай.
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
07.09.2018, 19:19
Цитата Сообщение от Почтальон Посмотреть сообщение
использовать другой язык программирования
берут же в модераторы... Регулярки.И больше ничего не потребуется.Элементарщина. А phpQuery для бестолковок неспособных освоить страницу а4
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
08.09.2018, 08:51
Цитата Сообщение от otto-fukin Посмотреть сообщение
Регулярки.И больше ничего не потребуется
Ну если хотите получить плохочитаемую ерунду то ок.
0
0 / 0 / 0
Регистрация: 03.11.2017
Сообщений: 36
08.09.2018, 17:25  [ТС]
помочь можете с кодом?

может пример есть какой нибудь, если делали что то похожее
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
09.09.2018, 15:37
Цитата Сообщение от tarasalk Посмотреть сообщение
Ну если хотите получить плохочитаемую ерунду то ок
ерунда в голове начинается
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
10.09.2018, 08:34
Цитата Сообщение от otto-fukin Посмотреть сообщение
ерунда в голове начинается
Попрошу без перехода на личности и т.п. месаги только по теме. Если нечего предложить - проходим мимо

Не по теме:

никогда не думал, что знание только одного яп делает человека программистом

0
12.09.2018, 12:59

Не по теме:

Цитата Сообщение от Почтальон Посмотреть сообщение
никогда не думал, что знание только одного яп
вроде модератор... странная какая-то уверенность в знаниях совершенно незнакомого ему человека
Цитата Сообщение от Почтальон Посмотреть сообщение
Попрошу без перехода на личности

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2018, 12:59
Помогаю со студенческими работами здесь

Залипание блока div в html далее содержимого блока
Подскажите пожалуйста, несколько дней не могу найти. Нужно div прилепить к верху после прокрутки страницы, о чтобы он был там приклеен до...

Как в div загружать страницы из другого блока div?
Здравствуйте. Кто сможет помочь мне в одном вопросе? Как можно загрузить по ссылке страницу из одного блока div в другой блок..то есть...

Как засунуть 4 блока div в другой div
Есть футер, надо в него засунуть 4 дива, 100% высоты, 3 из них 23% ширины, 4й 31%.... Почему то только 4й див видно слево, а другие нет....

Как вытащить из свойства fields recordset вытащить данные в массив
Как вытащить из свойства fields recordset вытащить данные в массив ассоциативный , подскажите плиз

Исчезание блока header или div с class,id (header) при скроллинге и фиксация блока навигации
Есть несколько реализаций данного кода. Только вот не всё работает так как нужно. Стоит такая задача, нужно, чтобы два блока с начала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru