Парсить с сайта ссылки только с определенным значением

Тема в разделе "Фильтры ссылок", создана пользователем MaiklWizard, 22 дек 2016.

  1. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    Всем доброе время суток. Возник вопрос: Как во время парсирования сайта, указать чтобы он брал информацию только у тех страниц где товар есть в наличии?

    Например ссылка:
    Ссылки недоступны для гостей
    товар архивный, следовательно сам товар мне уже не нужен: Ссылки недоступны для гостей
    А вот например:
    Ссылки недоступны для гостей - товар Есть в наличии - этот нужен. - Как парсить только товары с таким значением?

    В програме настроено, так: Ссылки недоступны для гостей
    Настройки свои я приложил.

    Просьба знающих, помочь с решением этого вопроса, спасибо.
     

    Вложения:

    • moyo_ua-2.cdp
      Размер файла:
      26,6 КБ
      Просмотров:
      2
  2. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    например так
    Код:
    [CHECKENTRY(Есть в наличии)]<CD_GRAN_4!>[THENTEXT]<CD_GRAN_1!>[CSVCS]<CD_GRAN_2!>[CSVCS]<CD_GRAN_3!>[CSVCS]<CD_GRAN_4!>[CSVCS]<CD_GRAN_5!>[CSVCS]<CD_GRAN_6!>[CSVCS]<CD_GRAN_8!>[CSVCS]<CD_GRAN_10!>[CSVCS]<CD_GRAN_12!>[/CHECKENTRY]
     
    MaiklWizard и Root нравится это.
  3. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    А удобнее вот так:
    2016-12-22_21-44-21.png
     
    MaiklWizard нравится это.
  4. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    Еще вопрос, чтоб не плодить темы: Возможно ли настроить, в такой фильтрации, список категорий, которые реально нужны, чтобы к примеру, одежду парсер НЕ парсил?
    Т.е. парсил только то что нужно
     
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
  6. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Третий вариант, наверно попроще))
    Отдельной границей зацепите начало:
    Есть в наличии
    Конец границы (обратите внимание что < специально не зацепил):
    /div>

    В дополнительные настройки границ ctrl+4 для этой границы отметьте галочку "Обязательно"
     
    MaiklWizard нравится это.
  7. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
  8. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    Ссылки недоступны для гостей - вот что получилось. Но идея интересная, я захвачу с "ии - окончанием есть в наличии.

    Правка: Я понял. Супер. Работает.

    Осталось понять, как парсить только то что находиться тут: Ссылки недоступны для гостей
    Другими словами, я могу создать список, в столбик категорий, которые мне нужны. Надо понимать, что нужная категория, может быть как в первом значении, так и во втором: Ссылки недоступны для гостей . Создать список нужных наименований, не проблема. Как сказать парсеру, чтобы он парсил только их?
     
    Последнее редактирование: 23 дек 2016
  9. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Берете выделяете весь
    начало <div breadcrum
    конец [AUTO]div

    а потом список тот что создали (список категорий которые нужны) в фильтр ctrl+shift+f там выставляете для какой границы и тд
     
    Root нравится это.
  10. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    Может подскажите, где имено по этому разделу можно почитать инструкцию?
     
  11. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    Просто в двух разных местах указано то что нужно у сайта донора. Категория 1 и Категория 2, по факту мне нужно в одной колонке. У донора - в один прекрасный момент вместо категории 2, начинает использоваться производитель. Ссылки недоступны для гостей Мне же нужна, только то что я задам, по условию, если нет в первой части, посмотреть во второй и только тогда если ответ положительный - спарсить ссылку.
    Ссылки недоступны для гостей

    Обычно, это я обходил макросами Екселя, но если есть возможность сразу задать в Довлоадере, то просьба с этим помочь. Так и прайс станет в разы меньше, и работать будет легче.
     
  12. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    1) Настраиваете границу как я сказал
    2) Вам в 3 сообщении Root картинку привел где делать фильтрацию

    3) смотрите 11 границу
    а потом нажмите в главном окне shift+ctrl+f и посмотрите как настроена фильтрация.
    Там все интуитивно понятно.
     

    Вложения:

    • moyo_ua-3.cdp
      Размер файла:
      32,3 КБ
      Просмотров:
      3
    Последнее редактирование: 23 дек 2016
  13. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    Это все понятно. Что означает: [THENTEXT]

    Я настроил с понятием ЕСЛИ. Там как раз две вкладки фильтра. )) Не совсем то, но главное что получилось.
     
  14. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Идем сюда Ссылки недоступны для гостей находим макрос CHECKENTRY и изучаем)
     
  15. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    Я немного не так спросил, в последнем сообщении. Вот тут: Ссылки недоступны для гостей - результат после работы парсера. По факту мне надо, когда парсер находит имя производителя, (заданного), он автоматически вместо него выставляет значение Основной категории, вернее [Границы №6]

    В приложенном файле - то как настроено сейчас, оно работает. Т.е. он сейчас берет все из категории 2 - [Граница парсинга 8], если есть значение в категории 1 - [Граница парсинга 6].
     
  16. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Ничего не понятно) еще раз.
    Что значит выставляет вместо одного другой.
    Расписывайте на примере как для совсем непонятлевых)
     
  17. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    После работы парсера, в самом прайс листе - я получаю два столбца с категориями. [Граница 6] и [Граница 8]. Для моего сайта - мне нужна только [Граница 8]. Но в какой то момент, на сайте доноре, отсутствует категории, для [Границы 8], и они вместо этого ставят имя производителя, по типу: Asus. Acer,HP и другие. На моем же сайте, название категорий, это категории, а производители это производители. Следовательно - при получении прайса в екселе, я беру те значения где в [Границе 8] - поставились значения производителей, заменяю их на значения [Границы 6] - т.е. названием основной категории.

    Вопрос именно в том, что возможно ли при парсинге с сайта донора, автоматически заменить при встрече производителей (список, опять же есть), на результат того что присутствует в категории на шаг Выше (т.е. левее, в соседней ячейке в [Границе 6])

    Код:
    Если брать по коду, то:
    
    <div class="breadcrumbs clear_after">
    <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.moyo.ua/" itemprop="url"><span itemprop="title">Интернет магазин</span></a></div><div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.moyo.ua/foto_video/tv_audio/"  itemprop="url"><span itemprop="title">ТВ, проекторы, медиаплееры</span></a></div><div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.moyo.ua/foto_video/tv_audio/lcd_tv/"  itemprop="url"><span itemprop="title">Телевизоры</span></a></div><div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.moyo.ua/foto_video/tv_audio/lcd_tv/sony/"  itemprop="url"><span itemprop="title">SONY</span></a></div><span itemprop="title">Телевизор SONY KD49XD7005BR2</span></div>        </div>
    т.е. в данном случае тут получаем две колонки: [Граница 6] = ТВ, проекторы, медиаплееры,     [Граница 8] = Телевизоры
    
    а вот тут:
    <div class="breadcrumbs clear_after">
    <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.moyo.ua/" itemprop="url"><span itemprop="title">Интернет магазин</span></a></div><div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.moyo.ua/tablet_el_knigi/electr_book/"  itemprop="url"><span itemprop="title">Электронные книги</span></a></div><div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.moyo.ua/tablet_el_knigi/electr_book/pocketbook/"  itemprop="url"><span itemprop="title">PocketBook</span></a></div><span itemprop="title">PocketBook Touch Lux 3 626 White</span></div>        </div>
    т.е. в данном случае тут получаем две колонки: [Граница 6] = Электронные книги,     [Граница 8] = PocketBook


    - и вот тут именно значение PocketBook - не нужно!, в таблице вместо него НО, в заданой ячейке [Граница 8] - должно автоматически записаться значение [Граница 6] = Электронные книги
    В самом екселе, выглядит так: Ссылки недоступны для гостей

    Ссылки для того чтоб увидеть физически:
    Ссылки недоступны для гостей
    Ссылки недоступны для гостей
     
    Последнее редактирование: 23 дек 2016
  18. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Не совсем я понимаю логику все равно.
    Тогда составь список поиска замены, и просто примени его в границе 8
    только зачем делать замену чтоб 2 раза получать Электронные кники, непонятно
     
    Root нравится это.
  19. MaiklWizard

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

    Регистрация:
    26 окт 2015
    Сообщения:
    146
    Адрес:
    Odessa
    А увеличить скорость работы, возможно? Бо он сначала парсит 250000 ссылок, а потом со всеми этими настройками создает прайс в 12000ссылок. Прайс создает правильно, но обработка полученых ссылок, занимает 8мь часов, и парсинг всех ссылок - 2 часа.

    Может можно на момент собирания ссылок указать ему собирать только те, где товары есть в наличии?

    Ссылки недоступны для гостей - эта ссылка есть в наличии
    Ссылки недоступны для гостей - этой нет в наличии

    Может можно както в фильтре собирания URL - указать ему что собирать а что нет?
     
  20. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    у вас 24 товара на странице и 1000 подкатегорий. теоретически все собирает правильно.
    Но вы собираете через сканер и xml карты. А так как xml довольно большие, обработка занимает порядочно времени (это кстати зависит еще и от параметров вашего pc, т параметров интернета.) Если есть антивирус отключите, возможно будет побыстрее.
    Я бы попробовал собирать через страницы, но не уверен что это будет куда быстрее. Хотя сейчас попробую. И тогда надо будет формировать 2 проекта, 1 для ссылок, второй для сбора (все через вкладку контент). Возможно есть и другие способы, но я предпочитаю такой)
     
    MaiklWizard и Root нравится это.
Similar Threads
  1. namazi74
    Ответов:
    2
    Просмотров:
    2.256
  2. Dreadnought
    Ответов:
    3
    Просмотров:
    1.513
  3. roman_k
    Ответов:
    1
    Просмотров:
    1.207
  4. Cheshir
    Ответов:
    7
    Просмотров:
    1.461
  5. Trenikola
    Ответов:
    2
    Просмотров:
    757
Загрузка...

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