- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Нужен именно бесконечный, читайте выше.
Нужен именно бесконечный, читайте выше.
Зачем бесконечный, в чём смысл ?
Обошёл все страници сайта, и что опять повторить цикл.
Сайт постоянно обновляется, парсить нужно постоянно.
Лучше не надо бесконечный, возможны бесконтрольные состояния.
Я такие вещи по крону запускаю.
Чтобы не было параллельных процессов, можно создавать PID файл.
Сайт постоянно обновляется, парсить нужно постоянно.
Тогда парсте сайт полностю, а потом повторяйте обход каждые X минут.
Иначе будет постоянный бесконечный цикл вокруг повторяющихся урлов и многие из них сканироватся вобще не будут(или очень редко).
В конце ваша коллекция переполница и программа повалит сервер.
Хм, логично. Но лучше просто:
а) занести страницу в индекс.
б) считывать данные спарсенной страницы со страницы - оригинала.
в) пополнять индекс.
Буду реализовывать.
то что я вам и писал:
Опредилитесь с колекциями.
1. Dictionary O(1) - отсканированые ссылки.
2. Queue (1) - содержит и пополняет себя новыми и не отсканироваными ссылками.
Угу, просто немного сложно для восприятия. А так большое спасибо.
$mas = array(
$a = 'a';
$b = 'b';
)
ну вообще то
$mas=array("a"=>"a","b"=>"b");
для вашего случая:
$spisok=array("index");
for($i=0;~;$i++){
$url=array_shift($spisok);
$site=curl($url);
$urls=daj_mne_urls($site);
$spisok[]=$urls;
}
http://php.net/manual/en/function.array-shift.php
Dinozavr, я набросал по быстрому просто, в целом все понятно.
Сейчас в качестве теста попробую:
1. Спарсить главную страницу.
2. Извлечь все ссылки.
3. Перейти по первой ссылке на страницу.
4. Вывести эту страницу на экран.
О результатах напишу.
---------- Добавлено 30.12.2012 в 20:18 ----------
Сейчас, собсно, имеем такой код:
По моей логике: array_shift не может вывести элементы массива отдельно, поэтому выводит все элементы как один (т.е. в массиве всего один элемент, который содержит все ссылки). Отсюда и недоступность к переходу. Возможно, все ссылки нужно собрать в ручную, а полученный массив передать курлу?
---------- Добавлено 30.12.2012 в 20:23 ----------
Хотя если так сделать с главной страницей, то с внутренними будет аналогично. Тогда этот вариант не подходит.