![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| DEER |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
привет всем
вот тут я спрашивал , про закачку картинок, всё понял, написал программку, суть её в следующем. она заходит на страницу, ищет на ней список ссылок, этот список в массив $list_url{$deskription}=$url. далее идёт цикл, просматриваются все элементы массива(хеша), печатается описание к ссылке; для каждого элемента вызывается следующий алоритм: - получаем страницу по ссылке; - там ищем ещё один список со ссылками; - заходим по каждой ссылке, берём от туда картинку - печатаем новый адрес картинки в конце концов должно получится примерно следующее
вроде всё работает. но на практике, ссылок оказалось очень много, и ещё я поставил перед каждым запросом sleep(2), чтобы не нагружала сервак, откуда качаю. Время работы программы должно быть примерно часа 4(это я оценив, скока он скачал за 10 минут прикинул). Через час работы программы, получается следующий список
т.е. программа, не заходит в процедуру получения картинок, а просто печатает хеш до конца и выключается. Так вот вопрос: из за чего это может быть? проблема в серваке? может там стоит какая нить константа, показывающая сколько максимально по впемени может работать скрипт? или проблемма в программе? или может я сильно часто делаю запросы на страницу? Щас ещё одна мысль пришла... а может это админ того сайта, откуда я картинки беру отрубил моё соединение? -------------------- |
||||
|
|||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
Покажи немного кода
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
ну например вот:
сначала вызывается get_child_categories, потм для каждого элемента, еще одна функция get_list, почти аналогичная get_child_categories (только регулярное выражение другое), потом, вызывается фуекция get_pict, для того что нашла get_list. Добавлено @ 17:41 ещё. код рабочий, потому что перед тем как умереть, он успевает собрать около 900 картинок -------------------- |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
Первое на что могу подумать это ПЛОХОЙ КОННЕКТ
Добавлено @ 17:54 Ещё... при использовании прокси НЕОБХОДИМА такая процедура! (проверка на "быстрый" коннект или доступность). Используй стандартные сокеты, либо тот же LWP, возьми почитай про ошибки типа 500, 200 OK и т.д. |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
а что есть $ua->timeout(5);
? это он будет 5 секунд ждать до ответа, а потом если его нет, то не ждёт больше? Добавлено @ 18:02 спасибо, буду копать -------------------- |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
=) Это значит что ждать всего 5 секунд и дисконнект
|
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
DEER, sleep вообще убери и попробуй вести лог:
И отследить, где ошибка! Попробуй fork для ускорения закачки! Я здесь приводил свой пример закачки страницы через прокси, можешь поискать! -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |