Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Рекомендованные сообщения

15 часов назад, stas2010 сказал:

надо бы для удобства проверки добавить счетчик строк и размер лога прямо на страницу в модуле.

Размер да можно бы вывести.
А вот счетчик строк это бешено затормозит работу страницы с логами. Особенно когда кол-во строк перевалит за 10к
А это почти мгновенно произойдет.

Ссылка на комментарий
Поделиться на других сайтах

Хочу поделится первыми результатами много поточности в модуле :oops:
После хорошего отдыха приступил к написанию и часть модуля уже переписана под много поточность. Задач еше много которые нужно решить.
Но цифры первого тестирования не могут не радовать.

 

Исходные данные 30 ссылок на мой тестовый сайт. Его озвучивать не буду все и так знают про него :)

При парсинге в один поток время составило.

46.51 секунд
 

При парсинге в много поточном режиме 2 потоков.
36,25 секунд.

 

При парсинге в много поточном режиме 3 потоков.
26,71 секунд.


При парсинге в много поточном режиме 5 потоков.
25,70 секунд.

При парсинге в много поточном режиме 10 потоков.
27,12 секунд. ( Тут последний пул из 10 ссылок был заблокирован сайтом донором)

Вывод:
Прирост однозначно будет !!! Я полон энтузиазма.
Но нужно грамотно выбирать количество потоков.

Максимальный прирост получился на 5 потоках, при 10 потоках я получил бан от донора, он посчитал что одно временно загружать по 10 ссылок наглость. :grin:
Но возможно не хватило паузы и за определенный период я сделал через мерную активность на сайт донор, точно сказать не могу.

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

Ура!

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

2 часа назад, Rassol2 сказал:

Максимальный прирост получился на 5 потоках, при 10 потоках я получил бан от донора, он посчитал что одно временно загружать по 10 ссылок наглость. :grin:

 

Во жара пошла - чую скоро многопоточный парсинг будет через прокси. Главное, чтоб какой-нибудь нежный донор не рухнул от такого доброго дидоса без задней мысли. :grin:

 

По поводу логов хотелось бы выразить своё мнение ещё. Сейчас, как я понимаю, если запустить парсинг, например CSV, и перейти на вкладку логов, то парсинг останавливается. Вот недавно у меня появился один донор, который повадился как то периодически хаотично выдавать 403 ошибку. Пока до меня дошло, что там паузу 5 надо ставить, так я ж его несколько дней терзал несчастного. Было бы здорово логи в реальном времени наблюдать, насколько если это возможно конечно же.

Ссылка на комментарий
Поделиться на других сайтах


1 минуту назад, Djek сказал:

 

Во жара пошла - чую скоро многопоточный парсинг будет через прокси. Главное, чтоб какой-нибудь нежный донор не рухнул от такого доброго дидоса без задней мысли. :grin:

 

По поводу логов хотелось бы выразить своё мнение ещё. Сейчас, как я понимаю, если запустить парсинг, например CSV, и перейти на вкладку логов, то парсинг останавливается. Вот недавно у меня появился один донор, который повадился как то периодически хаотично выдавать 403 ошибку. Пока до меня дошло, что там паузу 5 надо ставить, так я ж его несколько дней терзал несчастного. Было бы здорово логи в реальном времени наблюдать, насколько если это возможно конечно же.

парсер выйдет с ограничением потоков в 5.
будут варианты.
1 поток

2 потока

3 потока

4 потока

5 потоков
Зашита от незнания. Позже вскрою больше потоков если в этом будет необходимость. Но как показывают тесты ее не будет :)

По поводу логов.
Ну комон! уже давно реализовано.

1. запускаем париснг.

2. Правой кнопкой мыши на вкладке логи, открыть в новом окне. (вуаля парсинг не останавливается!)
3. Затем выбирает как вы хотите видеть логи, сперва первые или последние записи.
4. выбираем с какой частотой обновлять логи.

5. Жмем авто обновление.
6. завариваем кофе и наблюдаем как логи появляются и вы можете контролировать процесс парсинга в реальном времени.
 

Спойлер

8W7tY2x.png


Скажите удобно ? ;-)

Ссылка на комментарий
Поделиться на других сайтах

О хоспади, я ж не знал ( где то пропустил ) про этот финт с правой кнопкой по вкладке логов !!! Теперь моя жизнь наполнится смыслом, в смысле парсинг станет более осмысленным. Безумное удобство. Благодарю ! 

Ссылка на комментарий
Поделиться на других сайтах


1 минуту назад, Djek сказал:

О хоспади, я ж не знал ( где то пропустил ) про этот финт с правой кнопкой по вкладке логов !!! Теперь моя жизнь наполнится смыслом, в смысле парсинг станет более осмысленным. Безумное удобство. Благодарю ! 

вам спасибо что выбрали данный данный модуль.

Тут по сути не финт, главный смысл заключается в том что после нажатия кнопки старт парсинга нельзя закрывать страницу на которой идет строка загрузки парсинга.
Сделано так что бы обойти проблемы с там лимитом который есть у многих модулей.
Но так же из за этой фишки не блокируется работа сайта в момент парсинга.

Коль пропустили тему с логами тогда напомню и черную сторону авто обновления.
Его нельзя держать открытым на постоянной основе. Посидели по контролировали и выключили авто обновления.

Почему нельзя постоянно смотреть.
Сам php не много поточный и получается ситуация такова, что модуль делает запрос на парсинг ссылки, выполняется парсинга и записываются данные.
В этот момент вкладка логи тоже делает запрос на обновление. В итоге это запрос блокируется пока не выполнится парсинга. После завершения парсинга начинает выполнятся запрос обновления логов. И модуль ждет пока у вас загрузятся логи после завершения опять делает запрос и так по кругу.

А теперь суть,логи могут весить 10мб и выше. И когда модуль пытается обновить логи он скачивает все 10 мб и показывает их вам.
А вот скачать 10мб лого уже нет так быстро, и пока он будет качать сам парсинг будет в ожидании завершения загрузки логов.
А теперь представьте что логи весят 20мб или 50мб.
Это существенно тормозит работу самого парсинга.

Ссылка на комментарий
Поделиться на других сайтах

11 минут назад, Rassol2 сказал:

И модуль ждет пока у вас загрузятся логи после завершения опять делает запрос и так по кругу.

 

Спасибо за предостережения. Выходит таким методом не отрегулировать нужную паузу ? так как даже при нулевой паузе - она всё таки будет положительной, да и ещё расти в какой то прогрессии ?

Ссылка на комментарий
Поделиться на других сайтах


43 минуты назад, Djek сказал:

Спасибо за предостережения. Выходит таким методом не отрегулировать нужную паузу ? так как даже при нулевой паузе - она всё таки будет положительной, да и ещё расти в какой то прогрессии ?

в некотором смысле да.
при маленком логе минимальна при большом большая.
для того что бы было не зависмо нужно заходить с разных браузеров авторизоваться и тогда смотреть. В таком случаи каждая из вкладок будет работать в разных потоках.

Но даже если бы представить ситуацию в вакууме, как вам это поможет откалибровать паузу ?
Поскольку на скорость работы в первую очередь влияет сайт донор. Сначала он отвечает за секнду. Затем когда на него зайдет 10-20 человек начнет отвечать уже 2или 3 секунды.

Ссылка на комментарий
Поделиться на других сайтах

Добрый день, нужна ваша подсказка.

при парсинге фото и доп фото получаем рабочие ссылки (проверяем через поиск и замена) https://ХХХХХХ.ru/wa-data/public/shop/products/84/53/275384/images/ХХХХХХХ/681532.970.jpg фото  открывают.

но при предпросмотре доп фото не выводится http://prntscr.com/qj6shb настройка http://prntscr.com/qj6sqz 

Возможно я использую не те разделители?

Как должно быть {ссылка_главное_фото}{ссылка_доп_фото ссылка_доп_фото} ???

Ссылка на комментарий
Поделиться на других сайтах


5 часов назад, aleksss454 сказал:

Добрый день, нужна ваша подсказка.

при парсинге фото и доп фото получаем рабочие ссылки (проверяем через поиск и замена) https://ХХХХХХ.ru/wa-data/public/shop/products/84/53/275384/images/ХХХХХХХ/681532.970.jpg фото  открывают.

но при предпросмотре доп фото не выводится http://prntscr.com/qj6shb настройка http://prntscr.com/qj6sqz 

Возможно я использую не те разделители?

Как должно быть {ссылка_главное_фото}{ссылка_доп_фото ссылка_доп_фото} ???

Здравствуйте.
По описанию у вас все верно.
Не могли бы скинуть настройки формы я все проверю.

Ссылка на комментарий
Поделиться на других сайтах

@aleksss454 В доп фото разделитель должен быть {csvnc} между фото. Единственное что я бы проверил. А так нужно настройки вашего проекта посмотреть.

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, Rassol2 сказал:

@aleksss454 В доп фото разделитель должен быть {csvnc} между фото. Единственное что я бы проверил. А так нужно настройки вашего проекта посмотреть.

Настройки отправил в личку.

Ссылка на комментарий
Поделиться на других сайтах


36 минут назад, aleksss454 сказал:

Настройки отправил в личку.

Не помню когда поменял логику, но вот и вылез косяк.
В следующей версии выйдет исправление.

А сейчас вы можете решить вставив {csvnc}
Его нужно вставлять только в том случаи если:
Граница оди1 обычна. Граница 2 повторявшаяся. И между ними нужно вставлять {csvnc}
Как на скриншоте.

Спойлер

RPggUBg.png


Но это уже поправил в будущих версиях ставить будет не обязательно.

Ссылка на комментарий
Поделиться на других сайтах

7 минут назад, aleksss454 сказал:

Спасибо

не за что.

 

Для опыта.

В отладочной информации ссылки на фото должны выглядеть так.
 

Спойлер

2VuInhW.png

Одна строка одна ссылка на фото.

Если выглядит так то в модуль правильно попадают ссылки. Во всех остальных случаях что то не так.

У вас же выглядело так.
 

Спойлер

fvANEKK.png


Тут видно что не хватает разделителя между фото. Но его можно добавить :)

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, Rassol2 сказал:

не за что.

 

Для опыта.

В отладочной информации ссылки на фото должны выглядеть так.
 

  Показать контент

2VuInhW.png

Одна строка одна ссылка на фото.

Если выглядит так то в модуль правильно попадают ссылки. Во всех остальных случаях что то не так.

У вас же выглядело так.
 

  Показать контент

fvANEKK.png


Тут видно что не хватает разделителя между фото. Но его можно добавить :)

Да все получилось спасибо.

Ссылка на комментарий
Поделиться на других сайтах


Еще одну хотелку озвучиваю. При работе с одной посторонней программой увидел.

В модуле есть Предпросмотр. Но при выполнении парсинга в ИМ, например, не всегда результат на сайте соответствует предпросмотру и нашим желаниям. Предлагаю ввести режим Отладки (вводим переключатель Отладка - Работа). Т.е. в этом режиме модуль выполняет все операции, но только для одного товара (одной ссылки) и останавливается (производим отладку и когда все в порядке  - запускаем работу для всех ссылок). Сейчас приходится работать с одной ссылкой в очереди или останавливать парсинг для просмотра изменений на сайте. 

Изменено пользователем partshez
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Вопрос.

Качаю прайс csv. Несколько тысяч товаров. Ексель не хочет открывать, наверное, слишком большой файл. Можно ли настроить непосредственно парсинг в csv частями. Чтобы создавались несколько прайсов, например, по 2 тыс товаров? Или только регулировать вручную количеством ссылок в очереди? 

Ссылка на комментарий
Поделиться на других сайтах


31 минуту назад, partshez сказал:

Вопрос.

Качаю прайс csv. Несколько тысяч товаров. Ексель не хочет открывать, наверное, слишком большой файл. Можно ли настроить непосредственно парсинг в csv частями. Чтобы создавались несколько прайсов, например, по 2 тыс товаров? Или только регулировать вручную количеством ссылок в очереди? 

Сейчас нету возможности делить прайс на части.
Но можно загрузить 10тысяч, нажать паузу. Затем переименовать прайс и нажать опять старт.
И модуль начнет писать в новый прайс.
 

Спойлер

XzjKwOv.png

 

по поводу режима отладки я подумаю.

Ссылка на комментарий
Поделиться на других сайтах

5 минут назад, Rassol2 сказал:

Сейчас нету возможности делить прайс на части.
Но можно загрузить 10тысяч, нажать паузу. Затем переименовать прайс и нажать опять старт.
И модуль начнет писать в новый прайс.
 

  Показать контент

XzjKwOv.png

 

по поводу режима отладки я подумаю.

Спасибо!

Ссылка на комментарий
Поделиться на других сайтах


2 минуты назад, urchik сказал:

Подскажите как лучше проверить ссылки донора на дубли?

если вы про проверку списка ссылок на содержание одинаковых ссылок.
То достаточно вставить и в пустую форму и нажать сохранить и модуль сохранит все ссылки по одному экземпляру.
так сказать в этом окне нельзя записать две идентичные ссылки.
 

Спойлер

S2hulwV.png

 

Ссылка на комментарий
Поделиться на других сайтах

Еше подогрею ваш интерес.
 

Сейчас провожу проверочные парсинги для выявления проблем которые не смог предусмотреть на момент проектирования.
За одно скриншоты радости.

Парсинг в один поток.
2pnw0Ii.png

 


Парсинг в 5 потоков.
Включаем нитро ускорение.
MktP3sn.png

:eek::eek::eek:

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах

Подскажите как лучше сделать, у донора когда товар с 1 картинкой, код один, а если с несколькими картинками, то код другой.

как сделать чтоб если не нашел по одному коду, то грузил по другому.

{|} - это не работает.

 

Ссылка на комментарий
Поделиться на других сайтах


15 минут назад, urchik сказал:

Подскажите как лучше сделать, у донора когда товар с 1 картинкой, код один, а если с несколькими картинками, то код другой.

как сделать чтоб если не нашел по одному коду, то грузил по другому.

{|} - это не работает.

 

Вообще не нужно тут оператор или.
Если одна фотка одна граница.
Много фоток другая граница

В товар пишем просто {gran_1}{gran_2}
Если первая пустая там будет пустота и начнут братся фото с второй границы.
Если первая не пустая берутся с перво, но в второй границе тогда у вас пусто, и от туда ничего не берется.

Можете скинуть 2 ссылки на товар с разным типом фото. Как правило пользователи сильно перемудрят в таких случаях.
Я посмотрю и подскажу.

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.