Заказывал парсер, мне его написали, все здорово, спарсенное сохраняется в json базу и выводится на сайте.
В том же порядке, что и в оригинале, на моем сайте выводится только $db_new, все остальное выводится в разброс, не по порядку.
<?php
set_time_limit(0);
include __DIR__.'/config.php';
include __DIR__.'/libs/parser.class.php';
include __DIR__.'/libs/database.class.php';
$parser = new Parser(__DIR__.'/auth.cookie');
$db_new = new DataBase(__DIR__.'/db_new.json');
$db_feat = new DataBase(__DIR__.'/db_feat.json');
$db_day = new DataBase(__DIR__.'/db_day.json');
$db_days = new DataBase(__DIR__.'/db_days.json');
$db_news = new DataBase(__DIR__.'/db_news.json');
// Проверка авторизации. Если уже авторизован, то идет дальше, нет - авторизуется по логину и паролю
if(!$parser->checkAuth()) {
$parser->auth(USER, PASS);
if(!$parser->checkAuth()) {
die('Can\'t auth');
}
}
// СОХРАНЯЕТ ПО ПОРЯДКУ
$items = $db_new->all();
foreach ($items as $id => $item) {
try {
$info = $parser->getItem($id);
$db_new->replace($id, $info);
} catch(Exception $e) {
$db_new->remove($id);
}
sleep(SLEEP_CHECK);
}
for($page = 10; $page >= 1; $page--) {
// Загрузка
$items = $parser->getMarketplace('wares', $page);
foreach ($items as $item) {
$db_new->add($item['id'], $item); // Добавляем в базу
}
sleep(SLEEP);
}
$db_new->save();
// СОХРАНЯЕТ НЕ ПО ПОРЯДКУ
$items = $db_feat->all();
foreach ($items as $id => $item) {
try {
$info = $parser->getItem($id);
$db_feat->replace($id, $info);
} catch(Exception $e) {
$db_feat->remove($id);
}
sleep(SLEEP_CHECK);
}
for($page = 5; $page >= 1; $page--) {
// Загрузка
$items = $parser->getMarketplace('feat', $page);
foreach ($items as $item) {
$db_feat->add($item['id'], $item); // Добавляем в базу
}
sleep(SLEEP);
}
$db_feat->save();
// СОХРАНЯЕТ НЕ ПО ПОРЯДКУ
$items = $db_day->all();
foreach ($items as $id => $item) {
try {
$info = $parser->getItem($id);
$db_day->replace($id, $info);
} catch(Exception $e) {
$db_day->remove($id);
}
sleep(SLEEP_CHECK);
}
for($page = 5; $page >= 1; $page--) {
// Загрузка
$items = $parser->getMarketplaceTrends('Day', $page);
foreach ($items as $item) {
$db_day->add($item['id'], $item); // Добавляем в базу
}
sleep(SLEEP);
}
$db_day->save();
// СОХРАНЯЕТ НЕ ПО ПОРЯДКУ
$items = $db_days->all();
foreach ($items as $id => $item) {
try {
$info = $parser->getItem($id);
$db_days->replace($id, $info);
} catch(Exception $e) {
$db_days->remove($id);
}
sleep(SLEEP_CHECK);
}
for($page = 5; $page >= 1; $page--) {
// Загрузка
$items = $parser->getMarketplaceTrends('days', $page);
foreach ($items as $item) {
$db_days->add($item['id'], $item); // Добавляем в базу
}
sleep(SLEEP);
}
$db_days->save();
// СОХРАНЯЕТ НЕ ПО ПОРЯДКУ
$items = $db_news->all();
foreach ($items as $id => $item) {
try {
$info = $parser->getItem($id);
$db_news->replace($id, $info);
} catch(Exception $e) {
$db_news->remove($id);
}
sleep(SLEEP_CHECK);
}
for($page = 5; $page >= 1; $page--) {
// Загрузка
$items = $parser->getMarketplace('news', $page);
foreach ($items as $item) {
$db_news->add($item['id'], $item); // Добавляем в базу
}
sleep(SLEEP);
}
$db_news->save();
echo 'Done';
Подскажите, в чем проблема, может нарушена логика в скрипте?
Честно говоря, ранее все сохранялось в одну базу, это я уже сам раскидал по 5 базам... Раньше все было в одном
for($page = 5; $page >= 1; $page--) {
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Поставил себе задачку по php и mysql вывести список новостей и название категорий, к которым относятся эти самые новости
У меня есть таблица на 30500 записейВ ней находятся города, районы, и всякие населенные пункты
Подскажите как прописать ссылку в htaccessне переключается постраничный вывод из файла , в браузере выводится ссылка, а на странице не переключается
Начинаю, изучать php и хочу сделать логирование ошибокПытаюсь разобрать функцию debug_backtrace(), и не могу понять из-за чего он не хочет брать [0] массив...