Вытащить одно, несколько слов из предложения + с <GETMORECONTENT> не выводит все цены

Тема в разделе "Решение различных задач по парсингу", создана пользователем rusalex, 6 июн 2018.

  1. rusalex

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

    Регистрация:
    22 мар 2018
    Сообщения:
    39
    Город:
    Kiev
    Здравствуй. Искал ответы на вопросы увы не нашел, если этот материал уже есть буду рад прочитать и все решить сам.
    Есть два вопроса!

    1. В магазине индивидуальные (авторские) названия цветов, из которых нужно сделать (вытащить) стандартные и понятные всем.

    Оригинальные цвета
    038 griffith heather am 0
    467 heartbreaker no silic
    603 red
    651 rose/salmon
    black coated 32 inseam
    black destroy
    black fabric
    black floral print
    black gold

    Нужно вытащить известные название цветов, причем одно или два или три

    Сделать такими из представленных выше
    griffith
    red
    rose salmon
    black
    black
    black floral print
    black gold

    Вопрос: Как вытаскивать из названия только нужные слова (которые я определю заранее)?

    да и хотелось бы цвета из двух слов сделать через разделитель, типа

    black/floral/print
    black/gold

    2. Парсинг сайта на макросе <GETMORECONTENT>, через который определяется цена, цвет, размер, артикул и фотографии (через артиклы) и т. д

    У меня в конечном прайс-листе выводятся не все цены и картинки. с 4000 товаров, как правило до 500 шт с пустыми картинками и ценой?
    Я парсил в 10 и 1 поток, с паузой, но ничего не поменялось, все также до 500 шт пустых.
    Вопрос:
    - подскажите как это исправить?
    - моу у меня сильно много информации в парсинге, так как сразу пишу уникальные тексты с помощью макроса Cлучайный текст {....|....|....|....} в названии, описании, характеристиках, все методанные и т. п.

    Спасибо, буду очень признателен.
     
    Последнее редактирование: 6 июн 2018
  2. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    283
    Добрый день.

    1) Используйте макрос [Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! ]
    2) Для ответа на второй вопрос необходимо видеть источник. Сайты по-разному реагируют на парсинг. Если предпросмотр несохраненной ссылки, отображает данные, то скорее всего во время парсинга вы получаете бан.

    Проверьте настройки макроса <GETMORECONTENT>

    [​IMG]
     
    rusalex нравится это.
  3. rusalex

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

    Регистрация:
    22 мар 2018
    Сообщения:
    39
    Город:
    Kiev
    Спасибо за ответ.
    1) макрос [Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! ] при совпадении выводит все предложение, а мне нужно только одно слово или два или три. Ядавно пробовал этот макрос, он не макрос.
    2) за бан я не подумал!!!
    парсинг американского сайта привязанного к геозоне, я использую от 4 до 12 100% работающих прокси.

    Да при просмотре все загружается, здорово.
    А что при 12 прокси сайт может забанить меня? Но, пропуски в середине прайса и вразброс?
     
  4. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    283
    Макрос работает именно так как нужно.

    Код:
    [CHECKENTRY(555)]55555[THENTEXT]текст 1[ELSETEXT]текст 2[/CHECKENTRY] 
    Для вас это будет:
    Код:
    [CHECKENTRY(griffith)]038 griffith heather am 0[THENTEXT]griffith[ELSETEXT][/CHECKENTRY] 
    Вероятно необходимо увеличить паузу между запросами. Еще раз обратите внимание на опции макроса <GETMORECONTENT>.
     
    rusalex нравится это.
  5. rusalex

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

    Регистрация:
    22 мар 2018
    Сообщения:
    39
    Город:
    Kiev

    1) у меня вывод информации через <GETMORECONTENT> заключенного в повторяющейся границе парсинга., причем каждый товар выводится в 3-5 цветах.

    upload_2018-6-6_20-15-54.png
    так вот в первой строке стоит [CHECKENTRY(red)]<GETMORECONTENT>[THENTEXT]red[ELSETEXT][/CHECKENTRY]
    последняя [CHECKENTRY(red)]<CD_CYCLE_GRAN_3!>[THENTEXT]red[ELSETEXT][/CHECKENTRY] , где <CD_CYCLE_GRAN_3!> - границы цвета, но через него нельзя выводить цвет и другие параметры.


    2) Я ставил паузы 300 и 500... но ничего не меняется....
    А что с опциями? Что посмотреть?
    У меня ничего в опциях не отмечено!
     
  6. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    283
    Я не понимаю это предложение.

    Какой макрос использовать я вам указал. Если вам необхоимо отредактировать настройки, я могу это сделать в рамках платного саппорта: 350 рублей за час работы.

    Это слишком короткая пауза. Попробуйте поставить 3000 и проверьте будут ли данные загружены.
    Опции макроса <GETMORECONTENT> - там тоже необходимо выставить таймаут от 3000. Скриншот я прикрепил в сооббщении: http://forum.sbfactory.ru/threads/v...econtent-ne-vyvodit-vse-ceny.6577/#post-38114
     
    rusalex нравится это.
  7. rusalex

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

    Регистрация:
    22 мар 2018
    Сообщения:
    39
    Город:
    Kiev
    Да и хотел бы добавить, что еще нужно если не выводится ни один цвет, а текст есть, то пуст выведет весь текст как есть.
     
  8. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    283
    Вставляете необходимую границу после [ELSETEXT]
    Код:
    [CHECKENTRY(red)]<CD_CYCLE_GRAN_3!>[THENTEXT]red[ELSETEXT]<CD_CYCLE_GRAN_3!>[/CHECKENTRY]
     
    rusalex нравится это.
  9. rusalex

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

    Регистрация:
    22 мар 2018
    Сообщения:
    39
    Город:
    Kiev
    1)Спасибо за ответы! Попробую изменить опции <GETMORECONTENT>! у меня стоял 1000 и 2 попытки, увеличил до 3000.
    2) Так устроен сайт и парсинг, что вся информация парсятся в повторяющихся границах только через <GETMORECONTENT>, церез, который выводится только один цвет (речь идет об этой теме http://forum.sbfactory.ru/threads/p...ssylkami-na-tovary-v-bannere-javascript.6279/). А ПГ <CD_CYCLE_GRAN_3!> - выводит сразу все цвета (три) поэтому и еще по др. причинам не используются.
    А в такой конфигурации [CHECKENTRY(red)]<GETMORECONTENT>[THENTEXT]red[ELSETEXT]<GETMORECONTENT>[/CHECKENTRY] не работает и к тому же там порядка 100 стандартных цветов.

    Хотел использовать такую конфигурацию через поиск-замена, которую Сергей мне писал по другой теме

    [LINEMODE][FILTERSTRINGS]вхождение для взятия строки 1{fsep}вхождение для взятия строки 2{fsep}вхождение для взятия строки 3|keep
    {break_if_nil}
    {br}{skip}|
    {br}{skip}|
    {br}{skip}|
    но также выводит целое предложение.

    Спасибо. Буду думать дальше. Хотелось бы конечно найти решение, чтобы также систематизировать все.
     
    xLime нравится это.

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