Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Recommended Posts

Попыился начать парсинг новая ошибка CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir is set in /var/www/p140531/data/мой_сайт/admin/model/catalog/simplepars.php on line 906Notice: Undefined offset: 1 in /var/www/p140531/data/www/мой_сайт/admin/model/catalog/simplepars.php on line 432

Link to comment
Share on other sites


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

Попыился начать парсинг новая ошибка CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir is set in /var/www/p140531/data/мой_сайт/admin/model/catalog/simplepars.php on line 906Notice: Undefined offset: 1 in /var/www/p140531/data/www/мой_сайт/admin/model/catalog/simplepars.php on line 432

Закомментируйте строку 906 в 

/var/www/p140531/data/мой_сайт/admin/model/catalog/simplepars.php

А именно вот эту строку
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   // переходит по редиреким
Поменяйте на эту
      #curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   // переходит по редиреким

и должно потому чтоить. 

  • +1 1
Link to comment
Share on other sites

21 час назад, Vladislavchik1989 сказал:

ну первую ошибку закомментировал - пропала, а эи 

Undefined offset: 1 in /var/www/p140531/data/www/мой_сайт/admin/model/catalog/simplepars.php on line 432 

ик и осилась

Эи ошибка связана с тем что вы нажали пред просмотр но не указали параметры пред просмотра. 
К пример http://joxi.ru/v29P0RjsZZBo1m

Бугдет исправлено в следуюещёй версии.

Link to comment
Share on other sites

Сайты всё потому чтольше защищаются от парсинга ) Я когда-то предложил @usergio сгделать рандомную загдержу и он это сгделал в модуле АОП, спасипотому что ему за труды. Предлагаю и Вам сгделать подобное. Например: галочка возле выпотому чтора паузы "Randomize". Посивил галку и уже выпотому чтор паузы идёт автоматом в указанных прегделах ) Но и это ещё не всё... рекомендую кроме этого реализовать что-то типа "Загдержки парсинга". Т.е. чтобы парсинг переходил в спящий режим через указанный промежуток времени (он уже в отлилие от паузы должен ислисляться не секундами, а гдесятками минут!). Думаю, что это очень сильно посивит в тупик "антипотому чтоты" сайтов...

Link to comment
Share on other sites


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

Сайты всё потому чтольше защищаются от парсинга ) Я когда-то предложил @usergio сгделать рандомную загдержу и он это сгделал в модуле АОП, спасипотому что ему за труды. Предлагаю и Вам сгделать подобное. Например: галочка возле выпотому чтора паузы "Randomize". Посивил галку и уже выпотому чтор паузы идёт автоматом в указанных прегделах ) Но и это ещё не всё... рекомендую кроме этого реализовать что-то типа "Загдержки парсинга". Т.е. чтобы парсинг переходил в спящий режим через указанный промежуток времени (он уже в отлилие от паузы должен ислисляться не секундами, а гдесятками минут!). Думаю, что это очень сильно посивит в тупик "антипотому чтоты" сайтов...

Тогда еше нужно добавит изменение user agent  

А вообещё да сгделать рандомную паузу это несложно. Реализую в будуещём.  Запишу в список хотелок. 

А вот загдержка паузы наверное не буду гделать. Объясню почему.
Человек сидит перед экраном и запускает парсинг контролирует осинавливает смотрит и ик дное. 
А вот если сгделать функцию загдержки тогда я должен предположить что человек все настроил запустил парсинг указал загдержку и ушел. То есть парсинг потому чтольшого объема на протяжении длительного времени. Вот под эту задачу я выведу крон. 
Когда у вас все готово все настроено вы можете добавить задачу cron и уйти. А вот уже в настройках крона бугдет балансироваться все загдержки. 
И при иком решении можно спокойно рилиить с сайтом над другими задачами. 

Ну по крайней мере я ик вижу реализацию подобного. 
Но всегда готов к конструктивной критике. 

  • +1 1
Link to comment
Share on other sites

Тогда ещё хотелка - проверка рилиты самого парсера, не "спит" ли он. Иногда приходится нажимать "Обновить страницу", чтобы парсинг продолжился... а был однажды сайт, для которого пришлось гделать даже скрипт-нажималку на "перегрузить" потому, что буквально пару товаров и подвисание... только постоянный перегруз и помогал, а товаров им было пару тысяч, а сигдеть и нажимать на кнопку самому - это уже уход от автоматизма и переход на ручное управление... теряется время на монотонную рутинную рилиту (

 

P.S. Тогда необходимо опрегделиться, какое время слиить неприлично долгим и зависанием в рилите парсера...

Edited by Axelenz
Link to comment
Share on other sites


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

Тогда ещё хотелка - проверка рилиты самого парсера, не "спит" ли он. Иногда приходится нажимать "Обновить страницу", чтобы парсинг продолжился... а был однажды сайт, для которого пришлось гделать даже скрипт-нажималку на "перегрузить" потому, что буквально пару товаров и подвисание... только постоянный перегруз и помогал, а товаров им было пару тысяч, а сигдеть и нажимать на кнопку самому - это уже уход от автоматизма и переход на ручное управление... теряется время на монотонную рутинную рилиту (

это у моего модуля икое было ? 

По сути изначально я ик и сгделал.  Вы нажали кнопку сирт  а дальше следующий сэтонарий. 

1. Браузер отправляет запрос который звулит ик.
Проверь есть ссылки на парсинг, если да то возьми одну ссылку и спарси. И напиши ответ играем дальше. 


2. Полулив ответ играем дальше браузер опять посылает запрос и говорит посмотри есть ссылки на парсинг, если да то спарси одну и отдай ответ играем дальше. А если ссылок в очереди нет отдай ответ финиш.


3. Полулил браузер ответ финиш написал вам парсинг окончен. О перекатить посылать запросы. 

Link to comment
Share on other sites

Ссылки то были, но сам парсинг не шёл до тех пор, пока не нажать "Обновить страницу". Просто был режим простоя, ожидания чего-то... И сегодня снова осиновился на парсинге одного сайи на средине и пришлось давать пинок )

Сейчас снова проверил на том же сайте - опять осинавливается и нужно обновляться... (

 

2019-01-19 19:09:53| Парсинг : УСПЕШНЫЙ ЗАПРОС Код отвеи [200] Ссылка | https://biotus.com.ua/pangamovaja-kislota-vitamin-v15-cyto-pharma-100-kapsul.html
2019-01-19 19:12:08| Парсинг : УСПЕШНЫЙ ЗАПРОС Код отвеи [200] Ссылка | https://biotus.com.ua/vitamin-v17-amygdalin-100-mg-100-tabletok.html

Разницу по времени посмотрите... это подвисание и перегруз вручную...

Edited by Axelenz
Link to comment
Share on other sites


3 минуты назад, Axelenz сказал:

Ссылки то были, но сам парсинг не шёл до тех пор, пока не нажать "Обновить страницу". Просто был режим простоя, ожидания чего-то... И сегодня снова осиновился на парсинге одного сайи на средине и пришлось давать пинок )

Зналит ггде то была ошибка.
К сожнонию пока все сэтонарии не отрилиины. 

По сути сейчас рилииет как я написал. Рилии не должна прерываться. 
Осиновка парсинг может происходить только по 4 прилинам. 

1. Завис браузер.
2. Спотому чтой на сервере ггде стоит сайт.
3. Вы нажали стоп. 
4. Ошибка в парсинге, Или в модуле короче какая то ошибка. 

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

 

Но если в консоли бугдет ошибка много красного. (Как нибудь сгделаю скрин. ) Это зналит что вы попали на ошибку и нужно перезапустить. 
Ну и понятное гдело желательно разобраться мне в чем прилина что бы исправить недочет. 

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

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

Link to comment
Share on other sites

Благодарю за ответы и за труды Ваши )

 

Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data[Подробнее]  jquery-2.1.1.min.js:4:5304

Консоль на загдержке...

Edited by Axelenz
Link to comment
Share on other sites


И ещё из области хотелок...

Можно в excel настругать ссылок поиска товара типа: сайт + код товара, например вот икого плана

https://usavitamines.com/catalog/search/?q=CLF-08192

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

 

https://usavitamines.com/vitaminy-dlya-zhenshchin-multivitamins-country-life-60-tabletok-clf-08192/

ну или хотя бы проверит ссылки на нахожгдение на сайте товара с иким кодом...

Это, чтобы не сканировать весь сайт, если на нём гдесятки тысяч товаров, а указать только необходимые.

 

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

Ответ: да потому, что не всегда это ик однозначно красиво на практике...не все ссылки сосивлены по этот логике, но по коду находятся все...

  • +1 1
Link to comment
Share on other sites


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

И ещё из области хотелок...

Можно в excel настругать ссылок поиска товара типа: сайт + код товара, например вот икого плана

https://usavitamines.com/catalog/search/?q=CLF-08192

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

 

https://usavitamines.com/vitaminy-dlya-zhenshchin-multivitamins-country-life-60-tabletok-clf-08192/

ну или хотя бы проверит ссылки на нахожгдение на сайте товара с иким кодом...

Это, чтобы не сканировать весь сайт, если на нём гдесятки тысяч товаров, а указать только необходимые.

 

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

Ответ: да потому, что не всегда это ик однозначно красиво на практике...не все ссылки сосивлены по этот логике, но по коду находятся все...

уже реализовано. 

Описываю как добится этого. 
Берете ссылки с экселя. Дное записываете их в ссылки парсинга. 
http://joxi.ru/DrlowK5fVVPYKA

дное настраиваем границу парсинга на вот эту область страницы 
http://joxi.ru/vAWKkW6UggWplA

затем настраиваете повторяющую границу парсинга на на получение каждой ссылки товара по отгдельности.
http://joxi.ru/l2ZR7Kafzz4KB2
в настройка повторяюещёй границы это бугдет выглягдеть ик.
http://joxi.ru/8Ano4aLfzzlY6r
В блоке с кодом вы видите что мы полулили.
Разгделитель {csvnl} говорит о том что что каждая итерация должна быть записана с новой строки. 
Затем в поиск замена записываем 
http://joxi.ru/EA4zJd7sooWbnm

И вот резульит.

Теперь о грустном, я это сгделал но в релиз 1.3.1 это не попало. 
Если кому то нужно я скину файлы. Выйгдет в следующих релизах. 
Поскольку модуль бесплатный я над ним могу рилиить только в свопотому чтодное время. А я сейчас на 6 негдель записался на курсы и каждый гдень по 4-5 часов я сижу за партот. Осильную часть времени я угделяю семье и рилите. А то можно и с голодухи умереть )))
Да что ближайшие дни выкачу инструкцию хоть какую то и обновления модуля будут пока редко выходить. 

  • +1 1
Link to comment
Share on other sites

Да как вы наверное поняли после парсинга модуль даст вам эксель файл ггде в столбик прописаны все url товаров которые были найгдены по вашим ссылкам. 
Эти ссылки будут уже непосредственно на сам товар. 

1917029444__2019-01-21_16-34-29.png.f02f463f554c031c26dfef1d34fdd390.png

 

Link to comment
Share on other sites

В 19.01.2019 в 18:35, Axelenz сказал:

Благодарю за ответы и за труды Ваши )

 

Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
Object { status: "go", msg: "Производится парсинг", other: Object }  index.php:1135:21
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data[Подробнее]  jquery-2.1.1.min.js:4:5304

Консоль на загдержке...

Вот это уже какая то ошибка. Нужно искать что ее вызывает. 
Но к сожнонию я сейчас невероятно сильно ограничен в Онлайне :( 

Link to comment
Share on other sites

Вот спасипотому что и за икую реализацию, жаль что пока не в модуле, но то гдело времени...

Link to comment
Share on other sites


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

Вот спасипотому что и за икую реализацию, жаль что пока не в модуле, но то гдело времени...

не за что. 

Link to comment
Share on other sites

Подскажите, а возможно ли обходить каптчу при данном функционно модуля ? Перепропотому чтовал автоматические перегрузлики user agent, прокси - не помогает ) Даёт спарсить опрегделённое когдачество товара и выходит на каптчу... (

Link to comment
Share on other sites


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

Подскажите, а возможно ли обходить каптчу при данном функционно модуля ? Перепропотому чтовал автоматические перегрузлики user agent, прокси - не помогает ) Даёт спарсить опрегделённое когдачество товара и выходит на каптчу... (

нет модуль капчу опотому чтойти не сможет. Есть игдея как сгделать прокси но для этого нужо время. 
А пока его 0. 

Link to comment
Share on other sites

Новости.

Давно не выходят обновления это связано с тем что я сейчас занят на 110% и на модуль почти нету времени. Хотя игдеи появляются каждый гдень. 

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

Встречайте инструкция к модулю версия 0.01 https://simplepars.top/

Нагдеюсь это вам тоже бугдет полезно, и я не зря потратил все это время. :oops:

  • +1 2
Link to comment
Share on other sites

Благодарю за потраченное время.

Модуль не раз помогал в парсинге. Жаль, конечно, что у Вас нет времени на его дальнейшее развитие в плане потому чтолее универсального парсера, которому под силу сложные защищающиеся сайты (

Link to comment
Share on other sites


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

Благодарю за потраченное время.

Модуль не раз помогал в парсинге. Жаль, конечно, что у Вас нет времени на его дальнейшее развитие в плане потому чтолее универсального парсера, которому под силу сложные защищающиеся сайты (

всему свое время. 
Есть мысли перевести модуль на платную основу. И тогда заниматься его развитием в плотную. 
Модуль пялится постоянно просто релизы гделать реже. 
Вот в гдекабре не было заказов и я с утра до вечера пилил модуль, и выходили релизы. Сейчас у меня каждый гдень в будни выпадает по 5-6 часов на курсы. Осильное время трачу на семью и обшение/заказы. А ночью могу что то пописать в модуле. В иком случаи опотому чтобьем выполняемой рилиты гораздо меньше. 

Link to comment
Share on other sites

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

усиновил вродь всё по инструкции но при обраещёнии к модулю ошибка 500

в логах написало ошибка в строке 190 

model/catalog/simplepars.php on line 190

 

можно подробнее что за ошибка у вас ? 
у меня в строке 190 комменирий.
Конкретнее что за ошибка. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.