Парсим Алиэкспресс в Drupal
Шаг 1. Устанавливаем модуль и парсим алиэкспресс
1.1. За модулем идем на сайт xandeadx.ru. Если вы об этом сайте еще не знаете, не теряйте его. Очень хороший сайт для любителей drupal. Чтобы работать с модулем, нужно знать хоть немного PHP. Это как раз один из тех языков, который я практически не знаю, однако я справился. Скачиваем модуль по ссылке выше, устанавливаем как обычно.
1.2. Создаем тип материала. Я назвал его Ali. Поля создал такие:
Категория / field_category / Ссылка на термин / Автозавершение ввода, количество значений неограничено.
Соответственно создал словарь таксономии Категория товара.
Валюта / field_currency / Текст / Текстовая строка, максимальная длина поля 10 символов.
Стоимость / field_cost / Текст / Текстовая строка. Почему-то у меня не получилось загрузить данные в числовые поля. Но это не столь важно.
Скидки / field_sale / Текст / Текстовая строка.
Изображение / field_picture / Изображение / Изображение.
url / field_url / Длинный текст / Многострочное текстовое поле, Обработка текста - Простой текст.
1.3. Идем на Aliexpress за ссылками. Допустим нам нужны шторы. Идем в категорию Для дома и сада / Для дома / Шторы. Я не хочу выкладывать миллионы товаров. Я хочу выбрать товары более-менее надежных продавцов (Рейтинг продавца), да к тому же, со скидками. Соответствующий фильтр я и включил. И еще включил бесплатную доставку, и высший рейтинг, а товары вывел списком. Получил 161 товар. Мало? Можно выключить распродажу. Но рейтинг продавца не стоит. Лучше предлагать посетителям хороший (более или менее) товар. Получили список товаров.
Переходим на 2-ю страницу в нижней части, чтобы понять как формируются номера страниц.
Оказалось, что номера страниц не как обычно в конце линка, а в середине: ...category/202000472/1.html..., ...category/202000472/2.html... и т.д. Ну и ладно. Ссылка, кстати, существенно сократилась. Теперь вместо 1.html вставляем [mask:1,3].html, таким образом указывая, что нам нужно отсканировать страницы с первой по третью. Ссылка у нас получится такая:
http://ru.aliexpress.com/premium/category/202000472/[mask:1,3].html?needQuery=n&isFreeShip=y&shipCountry=ru&isFavorite=y&isAtmOnline=n&isOnSale=yes&SortType=total_weight_score_desc&prNum=0
Точно так же, выбираем другие категории и товары, если надо, по теме нашего сайта.
1.4. Идем в admin/structure/parser_jobs, добавляем job parsing.
Стартовый URL – адрес страницы, полученной на алиэкспресс, п. 3. Для начала вставим один только урл, потом добавим остальные.
Глубина 1.
Белый список адресов: http://ru.aliexpress.com/item/*.html
Черный список адресов очищаем.
Код проверки для дальнейшего парсинга страницы: return $doc->find('div.detail-page')->length() == 1;
Тип сущности: Содержимое, подтип – наш тип материала: Ali.
PHP код для поля Заголовок: return $doc->find('h1.product-name')->text();
PHP код для поля Автор (я использовал админа): return 1;
PHP код для поля Категория:
$terms = array();
foreach ($doc->find('.ui-breadcrumb a') as $a) {
$terms[] = pq($a)->text();
}
return $terms;
PHP код для поля Валюта: return $doc->find('[itemprop="priceCurrency"]')->text();
PHP код для поля Изображение:
if($doc->find('.ui-image-viewer-thumb-wrap a')->length>0) {
return array(
'file' => $doc->find('.ui-image-viewer-thumb-wrap a img')->attr('src'),
);
}
PHP код для поля url: return $page_url;
PHP код для поля Стоимость: return $doc->find('#sku-discount-price')->text();
PHP код для поля Скидки: return $doc->find('#sku-price')->text();
1.5. И у меня все. Если у вас есть еще поля, делаем по аналогии. Поясню как и откуда все это берется. Открываем любую страницу товара на али. Правой мышкой по заголовку, Просмотр кода элемента (в хроме).
Смотрим как формируется заголовок, вернее какие классы нам нужно искать.
Видим <h1 class="product-name" itemprop="name">, т.е. надо искать H1.product-name. Соответственно и запрос: return $doc->find('h1.product-name')->text();.
Все остальные поля, которые нам нужны делаем по аналогии. Нажимаем кнопку "Сохранить и начать". Если все сделали правильно, увидим что-то типа этого.
Шаг 2. Регистрируемся в партнерке и получаем ссылку
Изделия загрузили. Если для кого-то этого достаточно, прекрасно. Можете работать на китайцев – пусть они зарабатывают. Лично я хочу зарабатывать сам на китайских товарах. Для этого нужна одна мелочь – подключиться к партнерке.
2.1. Идем на сайт ePN. Регистрируемся. Добавляем свой сайт на странице "Мои площадки". Модерация, обычно, проходит быстро.
2.2. Далее Идем в Инструменты / Мои креативы. Нажимаем "Получить DeepLink". Заполняем поля.
Название креатива – ваше название вашего креатива.
Тип креатива – DeepLink.
Страница Aliexpress – любая страница любого товара на али.
Сохраняем.
2.3. Это именно то, что нам нужно – ссылка. Нажимаем кнопку в нашем креативе "Получить код DeepLink".
В принципе, там все понятно написано. Нужная нам ссылка:http://alipromo.com/redirect/cpa/o/b668a5f9aa1374fc173cf1e7098d8cfe
Шаг 3. Подключаем магазин и зарабатываем деньги
Осталось создать магазин. Я думаю, вы знакомы с модулем views. В нем все это сделать просто.
Как вы уже поняли, кнопка "Купить", как и клик по картинке переносит нас на сайт Алиэкспресс, но по нашей партнерской ссылке. Вот как выглядит вьюха страницы со списком товаров.
Вкратце поясню как я сделал ссылку.
3.1. "Содержимое: url" не отображается, включена птичка "Исключить из вывода", Включаем "Перезаписать результаты и суем туда нашу ссылку таким образом:
т.е. мы сформировали ссылку полученную в партнерке "http://alipromo.com/redirect/cpa/o/b668a5f9aa1374fc173cf1e7098d8cfe", добавили конструкцию, как они же нам советовали "?to=" и вставили прямую ссылку на товар, которую спарсили с Алиэкспресса на первом шаге или шагу "[field_url]".
3.2. Соответственно поле "Содержимое: Изображение" мы можем вывести в виде ссылки:
3.3. И добавить кнопку Купить – "Глобальный: Пользовательский текст"
3.4. Все остальные поля делаем как хотим.
Если уж совсем проблемы со вьюхой, пишите в комментариях – экспортну свою. Но она у вас будет работать только при условии, что вы все поля и тип материала сделали как у меня.
P.S. Если вы сами закупаетесь на алиэкспрессе, то в партнерке ePN напишите в техподдержку, что вы хотите сами покупать товары по своим ссылкам. Они не против, но хотят, чтобы мы об этом им сообщали. Таким образом, я зарабатываю на своей жене и детях, которые покупают там всякое барахло. И на себе тоже...
Источник: https://web.gavzav.name
More:https://web.gavzav.name/blog/vitrina-tovarov-aliexpress-na-drupal-parsim-aliekspress