Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB59.2570
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 13.04.2009, 22:41   #1
Paker
Юниор
 
Аватар для Paker
 
Регистрация: 21.03.2009
Сообщений: 13
Бабло: $500
По умолчанию Проблема с парсером.

Парсер работает очень странно. То быстро забирает инфу, то медленно. Парсит avto.ru.

Вот так работает парсер:
1. Считываю из файла прокси. - покупные проксы
2. Далее через сокеты подключаюсь к сайту (avto.ru) и смотрю код ответа, если 200, то иду дальше
3. Через курлы получаю контент сайта
4. далее максимум 2мя регулярками выбираю данные
Все

Это описание скрипта, который выполняет один заход.
Чтобы ускорить работу я использую многопоточность, т.е. несколько потоков обращаются к этому файлу. Скрипт многопоточности взял отсюда _ttp://www.pyha.ru/articles/php/emul...ultithreading/

Связь - пишите в личку. Либо отпишитесь в теме.


Готов взять платную помощь.

Заранее, спасибо.
Paker вне форума  
Старый 13.04.2009, 23:54   #2
azgard
Senior Member
 
Аватар для azgard
 
Регистрация: 14.11.2008
Сообщений: 184
Бабло: $13920
По умолчанию

Попробуй без проксей, возможно причина именно в них.
__________________
icq 353-220-557
жаба на мобе [email protected]
azgard вне форума  
Старый 14.04.2009, 00:47   #3
PCoder
Юниор
 
Регистрация: 13.04.2009
Сообщений: 29
Бабло: $500
Thumbs up

1) попробуй без проксей (только сразу ограничь скрипт, чтоб тебя не забанили разом)
2) многопоточность правильно организуется вот так:
Код:
$num_procs = 0;
$numTheards = 5;
$volnKoef = 1;

foreach ($list as $key => $entry){
	$pid = pcntl_fork();

	if ($pid == -1)
	{
		die('could not fork');
	}
	elseif ($pid)
	{
		$num_procs++;

		if ($num_procs > $numTheards) while ($num_procs >= $numTheards*$volnKoef)
		{
			//echo MASTER waiting for childs...
			pcntl_wait($status);
			$num_procs--;
		}
	}
	else
	{
		//child, do somthing (grab info)
		exit; //!!!!!! ИНАЧЕ ПОТОКИ УБЬЮТ СЕРВЕР
	}
}
PCoder вне форума  
Старый 14.04.2009, 12:04   #4
AlexWM
Ебланнед
 
Регистрация: 25.04.2008
Сообщений: 101
Бабло: $10120
По умолчанию

Скинь аську в ПМ, у кого прокси берешь, надо очень..
AlexWM вне форума  
Старый 15.04.2009, 18:31   #5
Paker
Юниор
 
Аватар для Paker
 
Регистрация: 21.03.2009
Сообщений: 13
Бабло: $500
ТС -->
автор темы ТС По умолчанию

Спс. Беда была в многопоточности... + проксы надо было чаще обновлять.
Paker вне форума  
Старый 15.04.2009, 18:39   #6
Paker
Юниор
 
Аватар для Paker
 
Регистрация: 21.03.2009
Сообщений: 13
Бабло: $500
ТС -->
автор темы ТС По умолчанию

AlexWM, извини если нафлудил в ПМ. Тут не сохраняется по дефолту, сообщение в папке ( когда отправляешь, что сообщение переходит в папку отправленные).
Paker вне форума  
Старый 15.04.2009, 19:35   #7
AlexWM
Ебланнед
 
Регистрация: 25.04.2008
Сообщений: 101
Бабло: $10120
По умолчанию

Цитата:
Сообщение от Paker Посмотреть сообщение
AlexWM, извини если нафлудил в ПМ. Тут не сохраняется по дефолту, сообщение в папке ( когда отправляешь, что сообщение переходит в папку отправленные).
Все оки.. Спасибо еще раз..
AlexWM вне форума