Как спарсить: На одной странице много товаров с параметрами

Тема в разделе "Решение различных задач по парсингу", создана пользователем Amarous, 16 янв 2013.

  1. Amarous

    Amarous Member Пользователи

    Регистрация:
    19 сен 2012
    Сообщения:
    31
    Сайт с примерно таким расположением данных:

    HTML:
           <table>   
    	<div class="code">001</div>
    	<div class="name">name1</div>
                      <td width="45">S</td>
    		<td width="45">M</td>
    		<td width="45">L</td>
    		<td width="45">XL</td>
                </table>
    		
    		
    		        <table>   
    	<div class="code">002</div>
    	<div class="name">name2</div>
                     <td width="45">S</td>
    		<td width="45">M</td>
    		</table>
    		
    		
    		 <table>   
    	<div class="code">003</div>
    	<div class="name">name3</div>
    		<td width="45">M</td>
    		<td width="45">L</td>
    		<td width="45">XL</td>
    </table>
    

    как сделать из этого кода табличку вида
    01 S name1
    01 M name1
    01 L name1
    01 XL name1
    02 S name2
    02 M name2
    03 M name3
    03 L name3
    03 XL name3
    это возможно как-то сделать?
     
    Последнее редактирование: 16 янв 2013
  2. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    решение - обычные границы внутри повторяющихся.
    задаете 1 повторяющуюся границу по тегам <table>....</table>. заходите в доп. настройки повторяющихся границ - и в шаблоне повторяющейся границы 1 задаете обычные - в результате получится последовательность блоков, обработанных согласно вашему шаблону.

    p.s. увидел ответ Kagorec и осознал, что, наверно, не понял суть вопроса.
     
  3. Amarous

    Amarous Member Пользователи

    Регистрация:
    19 сен 2012
    Сообщения:
    31
    Немного не понял? можно поподробнее?
    разве можно внутри повторяющейся
    пытался так:
    [GETMORECYCLECONTENT]
    [SOURCE][VALUE][/SOURCE]
    [START]5">[/START]
    [END]<[/END]
    [SEP]{br}[/SEP]
    [/GETMORECYCLECONTENT]

    но как добавить артикул и имя в каждую из строк?

    первый раз слышу, если честно, подкиньте ссылку...
     
    Последнее редактирование: 17 янв 2013
  4. Amarous

    Amarous Member Пользователи

    Регистрация:
    19 сен 2012
    Сообщения:
    31
    Последнее редактирование: 17 янв 2013
  5. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    давайте сделаем так. вот готовый проект к вашему коду.
    P.S. по ходу вопрос в сабже был понят правильно.
     

    Вложения:

    • pack.rar
      Размер файла:
      3,4 КБ
      Просмотров:
      7
  6. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.017
    Город:
    Riga
    Если подробнее то
    1. для повторяющееся границы указываете сбор на повторяющиеся блоки
    начало <div class="code"> и конец границы </table> (отметьте галочку "с границами")
    2. перехдим в "настройки повторяющихся границ" где будет сбор информации макросом GETMORECONTENT с раставлением границ:
    PHP:
    [GETMORECYCLECONTENT][SOURCE][VALUE][/SOURCE][START]<td width="45">[/START][END]</td>[/END][TOSTART][GRAN5]{tandz}[/TOSTART][TOEND]{tandz}[GRAN6][/TOEND][PARAMS]htmtotxt,tocsv[/PARAMS][SEP]{br}[/SEP][/GETMORECYCLECONTENT]
    В итоге должна получится ваша конструкция вида
    п.с. думаю вас не должно удивлять что внутри повторяющихся границ может работать еще повторящиеся границы уже макросом [GETMORECONTENT], CD программа зверь))
     
    Последнее редактирование: 17 янв 2013
  7. Amarous

    Amarous Member Пользователи

    Регистрация:
    19 сен 2012
    Сообщения:
    31
    Всем спасибо. kagorec, Особенно!
     

Поделиться этой страницей