Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > ФинСофт:КупецЪ

Загрузка изображений товаров с помощью Google Search API : ФинСофт:КупецЪ

29.03.2024 3:07


08.05.2020 18:34
FinSoft
 
Вчера приделал интерфейс к гугловскому поисковику через их api. Нужно это было для автоматизации подбора изображений товаров. Результат вполне съедобный получился. Искать можно по наименованиям или штрих-кодам. API возвращает на запрос по 10 найденных ссылок на изображения, и далее по смещению. Нам достаточно первых 10. Ограничение для бесплатного использования 100 запросов в день. Насколько я понял, привязка к доменному имени. Если есть несколько доменных имен, то, соответственно, получим больше.
Информации по регистрации пользовательской поисковой машины в Гугле в интернете достаточно. Сделать это просто. В ее настройке можно ограничить поиск списком сайтов, а можно и не ограничивать.
С вебом я предпочитаю работать через вызовы php скриптов. На php запрос выглядит так. Значения key и cx получаются при регистрации поисковой машины.

Код:
<?php
$query = $_GET['q'];
$query = iconv("windows-1251", "UTF-8", $query);
$body = file_get_contents('https://www.googleapis.com/customsearch/v1?key=???cx=???searchType=image&fileType=jpg&imgSize=medium&alt=json&q='.urlencode($query));
$json = json_decode($body,true);
//var_dump($json);
foreach ($json['items'] as $result) {
  echo $result['link'] . '<br>';
};
?>
Реализация в приложении такая.



Вначале в настройке программы включаем признак поиска изображений в интернете.

После этого в меню появляется пункт для журнала загрузок. Каждая загрузка - это документ, содержащий список товаров, по которым делается запрос.



Внутри документа последовательно выполняются операции на каждой закладке. Вначале формируем список товаров с учетом заданных критериев. Это те товары, для которых еще не подобрано фото и которые используются в системе электронных заказов. Дополнительно можно ограничить товарной группой и днями актуальности товаров, которых нет в остатках на складе. Размер списка 100 отражает ограничение поисковой машины по количеству запросов в день.

08.05.2020 18:35
FinSoft
 
После того, как документ заполнен товарами, создаем отчет в xls. В нем 3 колонки, код товара, наименование и строка для поиска. Строка для поиска содержит наименование товара или наименование группы товаров плюс наименование товара. Задача причесать строки поиска, что быстрее всего сделать в электронной таблице.



Далее результаты загружаем в приложение.



Строки для поиска сохраняются в дополнительном параметре товара.

08.05.2020 18:36
FinSoft
 
Затем запускаем загрузку. Обращаемся к поисковой машине с запросом по каждому товару из списка, получаем до 10 ссылок на изображение. Закачиваем изображения в специальный каталог. Имена файлов <код товара>_<номер изображения>.jpg. Первый файл привязывается к товару как актуальное изображение (файл с именем <код товара>.jpg). Для проверки формируем xls отчет, который может просмотреть менеджер, хорошо разбирающийся в ассортименте.



Если изображение не устраивает, то можно выбрать любое из 10. Или скопипастить из интернета что-то иное.

Часовой пояс GMT +3, время: 03:07.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.