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

Recommended Posts

06.12.2022 в 23:41, Rassol2 сказал:

@partshez @Yuriy160589
Скрипт по переносу ссылок из одного проекта в другой.

Сверху три переменные которые нужно указать.
1) откуда брать ссылки. С какого проекта
2) в какой проект писать
3) куда именно писать в проекте, в очередь или в ссылки на товар.

  Показать содержимое
<?php

//ID проекта откуда берем ссылки.
$from_id = 541;
//ID проекта куда записываем ссылки.
$to_id = 613;

//Куда записываем ссылки. 1 = ссылки очереди сканирования. 2 = ссылки на товар.
$where = 1;

require_once '../config.php';

//Создаем подключение к бад. 
$mysqli = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
if ($mysqli->connect_errno) {
  echo "Не удалось подключиться к MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$mysqli->set_charset("utf8");
$mysqli->query("SET SQL_MODE = ''");

$links = $mysqli->query("SELECT link FROM `".DB_PREFIX."pars_link` WHERE `dn_id` = ".(int)$from_id);
$links = $links->fetch_all(MYSQLI_ASSOC);

if($where == 2){
    addLinkToProducts($links, $to_id);
}elseif($where == 1){
    addLinkToSenLink($links, $to_id);
}

function addLinkToProducts($links, $dn_id){
    global $mysqli;
    foreach($links as $link){
        $mysqli->query("INSERT IGNORE INTO `".DB_PREFIX."pars_link` SET `link` ='".$link['link']."', `key_md5` ='".md5($dn_id.$link['link'])."', `dn_id`=".(int)$dn_id);
    }
}

function addLinkToSenLink($links, $dn_id){
    global $mysqli;
    foreach($links as $link){
        $mysqli->query("INSERT IGNORE INTO `".DB_PREFIX."pars_sen_link` SET `link` ='".$link['link']."', `key_md5` ='".md5($dn_id.$link['link'])."', `dn_id`=".(int)$dn_id);
    }
}

?>

 

 

Спасибо! Будем пробовать

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


07.12.2022 в 00:41, Rassol2 сказал:

Скрипт по переносу ссылок из одного проекта в другой.

Сверху три переменные которые нужно указать.
1) откуда брать ссылки. С какого проекта
2) в какой проект писать
3) куда именно писать в проекте, в очередь или в ссылки на товар.

Подскажите пожалуйста куда это вставлять и какую команду для крона прописывать?

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


  

В 07.12.2022 в 09:58, Yuriy160589 сказав:

Подскажите пожалуйста куда это вставлять и какую команду для крона прописывать?

 

Вам дали готовий скрипт, то може за вас ще й все зробити? Навчіться гуглити, "як запустити php скрипт по крону"

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

В 07.12.2022 в 10:32, Flint2000 сказав:

Вам дали готовий скрипт, то може за вас ще й все зробити? Навчіться гуглити, "як запустити php скрипт по крону"

По-перше, не дали, а придбав...

По-друге, надіюсь, у вас все добре! Бо відповідь не дуже адекватна на запитання, відповідь на яке була адекватно надана розробником.

P.S. Привіт, земляк :)

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


В 07.12.2022 в 10:54, NoName_13 сказав:

По-друге, надіюсь, у вас все добре!

Добре, наскільки це можливо. Світло та вода є, тепло.

Сорі, не той пост процитував

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

07.12.2022 в 11:30, nikeforce111 сказал:

Добрый день, можно чтобы при работе и парсинге в ИМ заходила цена в базовую колонку?image.thumb.png.c1e970d6fc8242f936196748ca7ae46f.png

Парсинг в ИМ. Данные- Закупочная цена. Но нужен доп модуль Закупочная цена

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


07.12.2022 в 02:54, NoName_13 сказал:

По-перше, не дали, а придбав...

Я не сторонник в такое влазить, но мне никто не платил за скрипт. Зачем вы пишите что вы купили ?
Я это сделал безвозмездно.

Как то не красиво получается. :(

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

07.12.2022 в 03:30, nikeforce111 сказал:

Добрый день, можно чтобы при работе и парсинге в ИМ заходила цена в базовую колонку?image.thumb.png.c1e970d6fc8242f936196748ca7ae46f.png

Если это поле у вас формируется через модуль закупочной цены. Или что то другое.
Но главное что бы эта цена хранилась в таблице oc_product поле cost
Если это оно, тогда  @partshez совершенно верно указал где это заполнить.

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

В 07.12.2022 в 13:22, Rassol2 сказав:

Я не сторонник в такое влазить, но мне никто не платил за скрипт. Зачем вы пишите что вы купили ?
Я это сделал безвозмездно.

Как то не красиво получается. :(

І ви... не розібравшись... Там поломаний телефон...

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


07.12.2022 в 05:31, NoName_13 сказал:

І ви... не розібравшись... Там поломаний телефон...

Ну сорян, просто я вижу по цитате вы цитирует человека и пишите что

"Не дали а купил."
Это звучит так как будто бы мне заплатили за этот скрипт.
Но это же не так, когда у меня появилось время я его написал бесплатно.

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

07.12.2022 в 01:58, Yuriy160589 сказал:

Подскажите пожалуйста куда это вставлять и какую команду для крона прописывать?

Можете загрузить в корень сайта и назвать к примеру url.php
И вызывать скрипт тоже командой что и крон в моем модуле.
Описано в этой инструкции.
https://simplepars.top/index.php?page=note&n=27

 

Только поменяйте ссылку с ваш_сайт.ua/admin/sp_cron.php на ваш_сайт/url.php

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

06.12.2022 в 22:56, Rassol2 сказал:

Проблема в встроенной функции перекодирования Unicod но это решаемо можно убрать это. Без нее можно жить.

Открываете файл
/admin/model/catalog/simplepars.php
Находите строку
$data['content'] = preg_replace_callback('/\\\\u([0-9a-f]{4})/i', array($this, 'unicode_decode'), $data['content']);

 

Ставите в начале нее решетку, и сохраняете. Вот так

#$data['content'] = preg_replace_callback('/\\\\u([0-9a-f]{4})/i', array($this, 'unicode_decode'), $data['content']);

 

После этого должно работать.
Проверил у себя.

Работает. Спасибо.

 

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


07.12.2022 в 14:41, Rassol2 сказал:

Можете загрузить в корень сайта и назвать к примеру url.php
И вызывать скрипт тоже командой что и крон в моем модуле.
Описано в этой инструкции.
https://simplepars.top/index.php?page=note&n=27

 

Только поменяйте ссылку с ваш_сайт.ua/admin/sp_cron.php на ваш_сайт/url.php

Спасибо большое. Буду пробовать

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


07.12.2022 в 21:34, Vladislav_Belov сказал:

Добрый день, подходит ли модуль для парсинга с сайта altex.ro?

Демо сайт для ознакомления с интерфейсом и возможностями модуля

Обратите внимание что на демо сайте парсинг недоступен.

http://demo.simplepars.top/admin/

Логин - demo
Пароль - demo

 

Вставляете ссылки на товар и пробуете.

И смотрите это видео

 

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


07.12.2022 в 16:30, Vladislav_Belov сказал:

Как я понял, парсер в демо версии не запускается, как пробовать?

Здравствуйте.
Вы не можете запустить парсинг и наполнение моего демо сайта.
Но ничего не мешает вам полностью настраивать проект смотреть пред просмотры.
Если страница грузится для пред просмотра она будет грузиться и в любом другом сценарии.

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

06.12.2022 в 22:56, Rassol2 сказал:

Проблема в встроенной функции перекодирования Unicod но это решаемо можно убрать это. Без нее можно жить.

Открываете файл
/admin/model/catalog/simplepars.php
Находите строку
$data['content'] = preg_replace_callback('/\\\\u([0-9a-f]{4})/i', array($this, 'unicode_decode'), $data['content']);

 

Ставите в начале нее решетку, и сохраняете. Вот так

#$data['content'] = preg_replace_callback('/\\\\u([0-9a-f]{4})/i', array($this, 'unicode_decode'), $data['content']);

 

После этого должно работать.
Проверил у себя.

 

Добрый!
Возвращаюсь к старой проблеме.
Парсинг сайт с описанной проблемой уже норм, за то другой сайт, с Unicod, уже слетел и не правильно работает. Может есть какое-то другое решение?

 

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


10.12.2022 в 15:45, ValRock сказал:

 

Добрый!
Возвращаюсь к старой проблеме.
Парсинг сайт с описанной проблемой уже норм, за то другой сайт, с Unicod, уже слетел и не правильно работает. Может есть какое-то другое решение?

 

Нет другого решения пока что нет, так как проблема в том что встроенная фунция php не может перекодировать unicod на том сайте. И возращает пустое значение. Вместо кода  страницы.

Ошибка в встроенной функции php и на уровне моего модуля я не могу решить ее.

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

10.12.2022 в 23:54, Rassol2 сказал:

Нет другого решения пока что нет, так как проблема в том что встроенная фунция php не может перекодировать unicod на том сайте. И возращает пустое значение. Вместо кода  страницы.

Ошибка в встроенной функции php и на уровне моего модуля я не могу решить ее.

 

1. Другие страницы с этого сайта (более 2000) парсятся без проблем.

2. Страницы в браузере открываются без проблем.

 

Значит проблема не в встроенной фунции на сайте а в чем-то другом.

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


11.12.2022 в 09:09, ValRock сказал:

 

1. Другие страницы с этого сайта (более 2000) парсятся без проблем.

2. Страницы в браузере открываются без проблем.

 

Значит проблема не в встроенной фунции на сайте а в чем-то другом.

То есть у вас 2000 одинаковых страницы на 100% символ в символ, что вы считаете так.
Если 2000 страниц спарсилось то проблема не может быть в строенном декодировании юникода, несмотря на то что поле отключения декодирования все заработало ?

Это рассуждения по типу. "Я знаю он 20 лет ездил за рулем не одного дтп, а значит и вчера он не мог попасть в дтп, это не правда."
Это размышление примерно таких категорий.

Вот здесь на скришоте вы можете найти. использование unicod на странице.

Скрытый текст

CJa5cj1.png

И вот где то есть либо не правильный юникод символ, либо символ который не поддерживается в вашей библиотеке. Либо еше что то.

Факт в том, что: Модуль содержит код страницы. Отдает ее на перекодирование встроенной функции, и на выходе получает либо обработанную страницу либо пустой ответ. И это происходит именно после использования встроенной функции в php , а именно - mb_convert_encoding

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

11.12.2022 в 21:00, Rassol2 сказал:

И это происходит именно после использования встроенной функции в php , а именно - mb_convert_encoding

Встроенную в сайт или в установленный PHP на моем хосте?

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


11.12.2022 в 13:28, ValRock сказал:

Встроенную в сайт или в установленный PHP на моем хосте?

Встроенную в язык программирования функцию.
От хостинга это тоже не зависит.
https://www.php.net/manual/en/function.mb-convert-encoding.php

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

@ValRock Можете попробовать модернизировать функцию в том же файле.
Открываете файл.
/admin/model/catalog/simplepars.php
Находите функцию

Скрытый текст
public function unicode_decode($match) {
  //Функция взята тут - https://gist.github.com/aeurielesn/1116358
  return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}

 


Заменяете ее на .

Скрытый текст
public function unicode_decode($match) {
  //Функция взята тут - https://gist.github.com/aeurielesn/1116358
  $value = mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
  if($value){
      return $value;
  }else{
      return $match[1];
  }
  return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}

 


В теории в таком случаи можно добится следующего результата.
Если смогла обработать то возвращаем обработанный код.
А если нет, тогда не обработанный.

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

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

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

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

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

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

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

Вхід

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

Вхід зараз

×
×
  • Створити...

Important Information

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