Как автоматизировать парсинг?

D
На сайте с 28.06.2008
Offline
997
298

Написал парсер сайта на php

У сайта четкая структуру - Разделы, категории, товары.

Категорий 670 штук, товаров порядка 8000.

Пока остановился на том что в переменной $linksLevel2[0]['url'] у меня ссылка на первую категорию.

Парсер заходит в нее и парсит все товары.

Хочу повестить все это дело на крон но не могу придумать как автоматически менять категорию на другую?

IL
На сайте с 20.04.2007
Offline
418
#1
Dram:
Хочу повестить все это дело на крон но не могу придумать как автоматически менять категорию на другую?

if (условие, при котором менять категорию) // кончились товары в "Этой" - дошёл до последней страницы,.. 

$category = 'другая'; // между запусками можно сохранять в базу/файл

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

Разных типов - "Список категорий", "Категория с товарами" (+ постраничная разбивка), "Товар".. при разборе каждой формируется набор для следующих.

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
W
На сайте с 08.02.2017
Offline
161
#2
Dram:
Хочу повестить все это дело на крон но не могу придумать как автоматически менять категорию на другую?

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

Комплексный аудит ИМ. Формирование УТП, анализ юзабилити, каналов продвижения. Контекстная реклама, настройка систем аналитики. Консультация - бесплатно, в ЛС
D
На сайте с 28.06.2008
Offline
997
#3

Я в итоге придумал так:

Каждому товару в поле пишу ID родительской категории.

Товары категории парсятся секунд за 5 -10.

Запускаю скрипт раз в минуту проверяю номер parent_id

и просто увеличиваю номер категории на 1 и парсится уже следующая.

$parent = $db->query("SELECT max(parent_id) FROM `table`");
$parent_id = array();
foreach ($parent as $item) {
$parent_id = $item;
}
$parent_id = (int) $parent_id['max(parent_id)'];
$level = $parent_id++;

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий