- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вопрос простой:
Нужно сосканировать поуровнево все имеющиеся страницы сайта, например загрузили все с главной, потом все ссылки с этих и т.д.
Имея URL получаем контент кодом:
$fp = fsockopen("имя_сайта", 80);fputs($fp, "GET /страница_сайта HTTP/1.1\r\n");
fputs($fp, "Host: имя_сайта\r\n");
fputs($fp, "Connection: close\r\n");
fputs($fp, "\r\n");
while (!feof($fp)){
@$headers .= fgets($fp);
}
Сканируем все полученные URL поочередно:
$fp = fsockopen("имя_сайта", 80);fputs($fp, "HEAD /страница_сайта HTTP/1.1\r\n");
fputs($fp, "Host: имя_сайта\r\n");
fputs($fp, "Connection: close\r\n");
fputs($fp, "\r\n");
while (!feof($fp)){
@$headers .= fgets($fp, 1000);
}
Далее по полученным заголовкам проверяем "подлинность" страницы (сам процесс не важен)
Вопрос: При таком сканировании большого количества страниц по-моему большая нагрузка на сервер. Меня интересует с физической стороны - как минимизировать нагрузку, сделать тайм-аут небольшой между получениями данных или как? Возможно код кривой?
Вставляете sleep($i); между итерациями, где $i - секунды. Если надо в миллисекундах - то это usleep ($msec);