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

PHP Парсинг кода HTML

22.03.2015, 10:12. Показов 2481. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем . Помогите пожалуйста с такой проблемкой .
Есть HTML страница и с нее надо получить строку вида .

HTML5
1
НУЖНО ЭТО 1 НУЖНО ЭТО 2 НУЖНО ЭТО 3 НУЖНО ЭТО 4

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<td class="tabletitle" colspan="12">&bull;&nbsp;Запрошенный артикул</td>
        </tr><tr id="_0_" attr="firm_32" bl="-10">
            <td>
                    <div class="artblock">
                        <div class="firmname">
                            <a href = '/hint/?s=62520293-000e-4020-a861-04b07000488f' onclick='javascript:ShowTipLayer(this,event,this.href, 30,130); return false;'>НУЖНО ЭТО 1</a>
                        </div>          
                        <div class="art">НУЖНО ЭТО 2</div>
                    </div>
                    <div class="descblock">НУЖНО ЭТО 3</div>
                </td><td class="informicon" align="center">
                    <a target='_blank' rel=''><span class=""></span></a>            
                </td><td align="center">
                    
                    7
                </td><td class="statis mobile_h">
                    0 дн.
                        <span class="none" title="Нет данных"></span>
                    
                    
                </td><td class="price" align="right">НУЖНО ЭТО 4.</td><td class="basket">
                    <a title="" onclick="wait(this);" href=""></a>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2015, 10:12
Ответы с готовыми решениями:

Парсинг html-кода
Всем добрый день! Нужна помощь в написании парсера определенного текста. Вначале указывается список url для парсинга. После чего нужно...

Сохранение HTML кода в html файл c использыванием php
Я создавал регистрацию на php+html+css . Сделал форму (она под спойлером ) &lt;div id=&quot;comment_form&quot;&gt; ...

Парсинг ссылок через PHP Simple HTML DOM Parser
Здравствуйте. Возникла проблема с работой данного скрипта. &lt;?php require_once 'simple_html_dom.php'; $data =...

5
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
22.03.2015, 13:58
lala4ka, используйте готовую библиотеку, например simpleHtmlDom. Там всё сведётся к такому:
PHP
1
$text = $html->find('.firmname', 0)->plaintext;
Для получения текста "НУЖНО ЭТО 1". С другими по аналогии.
0
0 / 0 / 0
Регистрация: 04.01.2015
Сообщений: 5
25.03.2015, 18:53  [ТС]
Спасибо вам большое ! А подскажите пожалуйста еще по парсингу :

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 <table cellspacing="0" cellpadding="0" class="table table-striped table-hover">
    <tr >
    <td >
<b>
Maker
</b>
</td>
<td >
555555
</td>
    </tr>
    <tr >
    <td >
<b>
Name
</b>
</td>
<td >
666666
</td>
    </tr>
Не получается вытащить 555555
Пробовал так :
PHP
1
2
$item1['text'] = $html->find('.table table-striped table-hover' ,7)->plaintext;
$item1['text'] = $html->find('#table table-striped table-hover td' ,2)->innertext;
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
29.03.2015, 13:56
Читайте документацию больше . При чём тут семёрка? И достаточно цепляться за один класс. Сделайте так:
PHP
1
$html->find('.table td', 2)->plaintext;
Т.е. тут мы получаем значение второго TD в таблице с классом table.
0
0 / 0 / 0
Регистрация: 20.10.2014
Сообщений: 16
30.10.2015, 13:01
Подскажите как парсить отзывы о магазине?
не получается $html->find() - либо не отрабатывает, либо ошибки при поиске...

HTML5
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<section class="js-review_item card__responses__response  card__responses__response__type3 js-ustat_block js-ustat_block_review_0 js-ustat_rid_47036111757319340">
 
    
    <div class="card__responses__response__information clearfix">
        <div class="card__responses__response__information__author">
            <div class="card__responses__response__information__author__wrapper">
                <span class="social-nets-icon social-nets-icon_type_yandex"></span>Требушко Николай              <span>написал
                                            23 октября 2015                                                      </span>
            </div>
            <div class="card__responses__response__information2__date">Дата покупки: октябрь 2015</div>
        </div>
        <div class="card__responses__response__information__rating">
                        <div class="rating_company rating_company__rate5"><i class="rating_company__one_ball"><s></s></i><i class="rating_company__two_ball"><s></s></i><i class="rating_company__three_ball"><s></s></i><i class="rating_company__four_ball"><s></s></i><i class="rating_company__five_ball"><s></s></i>
            <b>5</b></div>          <a href="#" class="rating_good__detail_link js-rating-detail" html="<table>
    <tr>
        <th class=&quot;popup__rating_information__result&quot;>Общая оценка</th>
        <td><div class=&quot;rating_company rating_company__rate5&quot;><i class=&quot;rating_company__one_ball&quot;><s></s></i><i class=&quot;rating_company__two_ball&quot;><s></s></i><i class=&quot;rating_company__three_ball&quot;><s></s></i><i class=&quot;rating_company__four_ball&quot;><s></s></i><i class=&quot;rating_company__five_ball&quot;><s></s></i>
            <b>5</b></div></td>
    </tr>
            <tr>
            <th>Презентация товара</th>
            <td><div class=&quot;rating_company rating_company__rate5&quot;><i class=&quot;rating_company__one_ball&quot;><s></s></i><i class=&quot;rating_company__two_ball&quot;><s></s></i><i class=&quot;rating_company__three_ball&quot;><s></s></i><i class=&quot;rating_company__four_ball&quot;><s></s></i><i class=&quot;rating_company__five_ball&quot;><s></s></i>
            <b>5</b></div></td>
        </tr>
            <tr>
            <th>Актуальность</th>
            <td><div class=&quot;rating_company rating_company__rate5&quot;><i class=&quot;rating_company__one_ball&quot;><s></s></i><i class=&quot;rating_company__two_ball&quot;><s></s></i><i class=&quot;rating_company__three_ball&quot;><s></s></i><i class=&quot;rating_company__four_ball&quot;><s></s></i><i class=&quot;rating_company__five_ball&quot;><s></s></i>
            <b>5</b></div></td>
        </tr>
            <tr>
            <th>Оформление заказа</th>
            <td><div class=&quot;rating_company rating_company__rate5&quot;><i class=&quot;rating_company__one_ball&quot;><s></s></i><i class=&quot;rating_company__two_ball&quot;><s></s></i><i class=&quot;rating_company__three_ball&quot;><s></s></i><i class=&quot;rating_company__four_ball&quot;><s></s></i><i class=&quot;rating_company__five_ball&quot;><s></s></i>
            <b>5</b></div></td>
        </tr>
            <tr>
            <th>Доставка и оплата</th>
            <td><div class=&quot;rating_company rating_company__rate5&quot;><i class=&quot;rating_company__one_ball&quot;><s></s></i><i class=&quot;rating_company__two_ball&quot;><s></s></i><i class=&quot;rating_company__three_ball&quot;><s></s></i><i class=&quot;rating_company__four_ball&quot;><s></s></i><i class=&quot;rating_company__five_ball&quot;><s></s></i>
            <b>5</b></div></td>
        </tr>
    </table>
" data-hasqtip="0">Подробнее</a>
                    </div>
    </div>
 
    <p>
                    Заказывал в этом магазине планшет Samsung Galaxy Tab S, очень хорошее качество. Довольно большой и быстрый планшет. В магазине  на заказ реагируют быстро, перезванивают почти сразу. Я заказывал срочную доставку, мне привезли через три часа. Все нужные документы были правильно оформлены, планшет проверен. Так что работают они четко. Спасибо,доволен.          </p>
 
 
 
 
 
    <noindex>
        <div class="card__responses__response__information2 clearfix">
            <div class="card__responses__response__information2__usefulness"><!--
                --><span>Был ли полезен отзыв?</span><!--
                --><a href="http://torg.mail.ru/upload/review/?proc=vote&amp;review_id=3334012&amp;val=1&amp;type=1" class="button button-color2 button-font-size2 button-height1 button-spacing1 button-yes js-review_vote js-ustat_link js-ustat_link_voteYes" rel="nofollow">Да<span class="button__counter button__counter_vote">0</span></a><!--
                --><a href="http://torg.mail.ru/upload/review/?proc=vote&amp;review_id=3334012&amp;val=-1&amp;type=1" class="button button-color2 button-font-size2 button-height1 button-spacing1 button-no js-review_vote js-ustat_link js-ustat_link_voteNo" rel="nofollow">Нет<span class="button__counter button__counter_vote">0</span></a><!--
            --></div>
        </div>
    </noindex>
    </section>
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
30.10.2015, 14:33
Например спарсим новости с сайта toffe. Сайт левый.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    function parse($p1,$p2,$p3){
        $num1 = strpos($p1,$p2);
            if(!$num1) return 0 ;
        $num2 = substr($p1,$num1);
        return substr($num2,0,strpos($num2,$p3));
    }
        $link = file_get_contents("http://toffe.org.ua/");
    $start_teg = "<div class=osn>"; // Начало тегов от которых парсить
    $stop_teg = "<a href=index.php?id=kd>"; //До куда парсить теги 
    echo parse($link,$start_teg,$stop_teg);
    ?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2015, 14:33
Помогаю со студенческими работами здесь

Совмещение кода HTML и PHP
Необходимо совместить код: &lt;form action=&quot;.&quot; method=&quot;post&quot;&gt; &lt;textarea name=&quot;text&quot;&gt;&lt;/textarea&gt; &lt;input type=&quot;submit&quot;...

Вывод HTML кода в PHP
еще один вопрос... как внутри пхп организовать хтмл код?

Передача html кода в php
Добрый день! Возникла проблема, передаю ajax'ом форматированный html текст в php, в итоге в php получаю лишь часть текста. в переменной...

С HTML кода на PHP поменять не могу
&lt;html&gt; &lt;head&gt; &lt;body&gt; &lt;form method=&quot;post&quot; action=&quot;handler.php&quot;&gt; &lt;p&gt;Как вас зовут:&lt;/p&gt; &lt;input type=&quot;text&quot;...

Вставка php кода в html файл
Доброго дня уважаемые форумчане. Вопрос такой, весь сайт на html, и проблема в том, что если мне необходимо поменять что-то в шапке,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru