![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
shurik330 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 16.11.2011 Репутация: нет Всего: нет |
Здравствуйте.
Столкнулся со следующей проблемой. Есть 8 сайтов с разными товарами. На каждом из сайтов, примерно по 250 товаров. Я спарсил все товары только с одного сайта. По полученной ссылки на товар я спарсил описание и адрес. Отправил все в базу данных. Проделывая вышеупомянутые действия вылетала ошибка: Fatal error: Allowed memory size of 73400320 bytes exhausted (tried to allocate 72 bytes) in... Решил данную проблему с помощью файла .htaccess (php_value memory_limit 128M). Далее мне нужно провести геокодирование полученных адресов, что еще сожрет памяти. Также остается проделать тоже самое еще с 7-ю сайтами. Я еще не пробовал, но думаю, что хостинг, на котором лежит сайт, не выдержит. Как можно выйти из подобной ситуации? Можно ли все действия разбить на отдельные файлы и подключить потом их через include или require (есть ли в этом смысл)?? Или нужно покупать выделенный хостинг?? Буду очень благодарен всем, кто решит помочь )) |
|||
|
||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 17 Всего: 45 |
Разбить действие на шаги. К примеру, за один шаг добавлять не более 5 товаров. Далее перегружать скрипт и парсить новые. Тут главное ставить метку какие товары уже есть в БД |
|||
|
||||
shurik330 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 16.11.2011 Репутация: нет Всего: нет |
А как это можно реализовать? |
||||
|
|||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 17 Всего: 45 |
1. Собираем все ссылки на все товары, записываем их в БД(не в файл! а имено в базу данных, для удобства). В БД будет 2 поле: первое - сама ссылка, вторая - статус
2. Запросом в БД получаем 5 последних ссылок со статусом 0(т.е. те которые мы не обошли). В цикле проходимся по этим ссылкам, читаем и сохраняем информацию о товарах. После каждого сохранения меняем статус на 1 3. После завершения цикла, перегружаем страницу обычным <META REFRASH> 4. Опять повторяем шаг 2, и так пока в БД не останиться товаров со статусом 0 Я надеюсь это партнерские сайты, и ты не воруешь контент? |
|||
|
||||
shurik330 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 16.11.2011 Репутация: нет Всего: нет |
А можно с помощью такого метода сначала получить все ссылки на товары с 8 сайтов, потом порционно, по 50 штук, вытащить информацию и потом продолжить выполнение остальных скриптов (все в одном файле)??? |
|||
|
||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 17 Всего: 45 |
Смысл данного алгоритма в том чтобы дозировать обрабатываемою информацию. А будет ли это в одном файле, на какое кол-во доменов распределять обработку и прочее - это все второстепенные вопросы реализации
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |