Парсинг выпадающего списка

Тема в разделе "Парсинг конкретных сайтов по запросу (ПЛАТНО)", создана пользователем diogen, 23 сен 2012.

  1. diogen

    diogen New Member Пользователи

    Регистрация:
    23 сен 2012
    Сообщения:
    1
    Всем здравствуйте.
    Просмотрел темы, видео примеры, но к сожалению не видел примера, как можно спарсить выпадающие списки со значениями.

    возникла потребность парсить товар с интернет магазина и делать это на регулярной, постоянной основе
    Нашел эту замечательную программу Content Downloader и считаю что Content Downloader отличное, доступное решение для моих задач, но при составлении проекта, возникла трудность с одним тегом.

    PHP:
    Размер:                  
    <
    select name='option_select_1' onchange='GetCurrentCurrency();' class="WCHhider">
    <
    option value='0:21086' selected>70D+L</option>
    <
    option value='0:21057' >70D+M</option>
    <
    option value='0:21059' >70D+S</option>
    <
    option value='0:21172' >75C+L</option>
    <
    option value='0:21173' >75C+M</option>
    <
    option value='0:21165' >75C+S</option>
    </
    select><br>
    Каким образом можно вытянуть размеры и записать их через запятую ?

    Я новичок в этом деле, может я что то упустил и где то есть примеры или видео как можно парсить выпадающие списки.

    Буду благодарен за любой толковый совет


    задаю границы
    Начало Размер:
    Конец <p>

    в дополнительные настройки границ парсинга ставлю html to txt, но все равно
    получается в результате такое

    <p>85E+L</p><p>85E+M</p><p>85E+S</p><p>85E+XL</p><p>85E+XXL</p><p>85F+L</p><p>85F+M</p><p>85F+S</p><p>85F+XL</p><p>85F+XXL</p><p>90C+L</p><p>90C+M</p><p>90C+S</p><p>90C+XL</p><p>90C+XXL</p><p>90D+L</p><p>90D+M</p><p>90D+S</p><p>90D+XL</p><p>90D+XXL</p><p>90E+L</p><p>90E+M</p><p>90E+S</p><p>90E+XL</p><p>90E+XXL</p>

    как можно дополнительно отфильтровать этот результат
    1 - убрать <p> совсем
    2 - вместо </p> поставить запятую
    3 - поставить фильтр на +L, +M, +S и тд
    4 - удалить повторы

    что бы получить итоговую строку 85E,85F,90C,90D,90E
     
    Последнее редактирование: 23 сен 2012
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    1. Указать начало границы как
    конец границы
    2. В "дополнительные настройки границ" для этой границы не ставьте чекбокс на htm to txt, а в поле поиск-замена добавьте слетующее
     
    Последнее редактирование: 23 сен 2012
  3. lion

    lion New Member Пользователи

    Регистрация:
    19 янв 2013
    Сообщения:
    28
    Интересно, но есть одно маленькое замечание, сам столкнулся с похожей ситуацией.

    Как видно из кода ниже

    PHP:
    <p>85E+L</p><p>85E+M</p><p>85E+S</p><p>85E+XL</p><p>85E+XXL</p><p>85F+L</p><p>85F+M</p><p>85F+S</p><p>85F+XL</p><p>85F+XXL</p><p>90C+L</p><p>90C+M</p><p>90C+S</p><p>90C+XL</p><p>90C+XXL</p><p>90D+L</p><p>90D+M</p><p>90D+S</p><p>90D+XL</p><p>90D+XXL</p><p>90E+L</p><p>90E+M</p><p>90E+S</p><p>90E+XL</p><p>90E+XXL</p>
    если использовать этот фильтр в дополнительных настройках границ, тогда будут повторы в результат и он будет выглядеть примерно так 85E,85E,85E и т.д

    а как убрать эти повторы? что бы добиться результата

    85,85F,90C,90D,90E
     
  4. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    PHP:
    [GETMORECYCLECONTENT][SOURCE][<CD_GRAN_5!>[/SOURCE][START]<p>[/START][END]</p>[/END][TOSTART][/TOSTART][TOEND][/TOEND][PARAMS][/PARAMS][SEP],[/SEP][/GETMORECYCLECONTENT]
    есть на такой случай макрос GETMORECYCLECONTENT;)
    п.с. в 5 границе все содержимеое списка размеров без отмеченного "htmtotxt"
     
  5. lion

    lion New Member Пользователи

    Регистрация:
    19 янв 2013
    Сообщения:
    28
    а если содержимое списка имеет вид

    Код:
    70A,70A,70A,70B,70B,70B,70C,70C,70C,70D,70D,70D,70E,70E,70E,75A,75A,75A,75B,75B,75B,75C,75C,75C,75D,75D,75D,75E,75E,75E,80B,80B,80B,80C,80C,80C,80D,80D,80D,85B,85B,85B,85C,85C,85C
    Макрос GETMORECYCLECONTENT поможет отсортировать дубликаты значений ? что бы в итоге получить 70A,70B,70C,70D... и т.д т.е. уникальные значения, через запятую

    читал про Ссылки недоступны для гостей но так и не понял.
     
  6. alamina.moon

    alamina.moon Модератор Команда форума Модератор

    Регистрация:
    14 янв 2013
    Сообщения:
    214
    Что Вам мешает подключить PHP скрипт и передать туда значения в виде строки 85E,85E,85E и т.д а дальше разобрать строку в массив, удалить повторяющиеся символы и вернуть нужную строку без повторений.
     
  7. lion

    lion New Member Пользователи

    Регистрация:
    19 янв 2013
    Сообщения:
    28
    пока только один фактор - отсутствие знаний как это делать. Если нельзя с помощью макросов CD это отсортировать, значит придется изучать немного пхп
     

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