Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

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 ссылки на товар с разным типом фото. Как правило пользователи сильно перемудрят в таких случаях.
Я посмотрю и подскажу.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.