• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Помогите Решить Ошибку В Парсере

  • Автор темы ardeler
  • Дата начала
A

ardeler

Здравствуйте уважаемые php гуру !
Уже 2 месяца пытаюсь понять что не так в парсере ....
Парсер не парсит контент но ссылки не парсит вот код парсера ссылок:

PHP:
	if($dbInsert)
{
$dbSelect = $db->query("SELECT * FROM wp_posts WHERE lmwt='$lmwt'");
if($dbSelect->num_rows > 0)
{
$dbRow = $dbSelect->fetch_object();
$movie_id = $dbRow->id;
}
for($i=0; $i<count($firstLinks[1]); $i++)
{
if(trim($firstLinks[1][$i]) != 'quality_sponsored')
{
$quality = $firstLinks[1][$i];
if($firstLinks[1][$i] == 'quality_cam') { $quality = '1'; }
if($firstLinks[1][$i] == 'quality_ts') { $quality = '2'; }
if($firstLinks[1][$i] == 'quality_dvd') { $quality = '3'; }
if($firstLinks[1][$i] == 'quality_hd') { $quality = '4'; }
if($firstLinks[1][$i] == 'quality_unknown') { $quality = '3'; }

$links  = base64_decode($firstLinks[3][$i]);
preg_match('/http:\/\/(.+?)[\/]/', $links, $mashoster);

$hoster = str_replace("www.", "", $mashoster[1]);
$dbResult = $db->query("SELECT * FROM movieLinks WHERE links='$links'");
if($dbResult->num_rows == 0)
{
$dbResult2 = $db->query("SELECT * FROM movieLinks WHERE movie_id='$movie_id' AND hoster='$hoster'");
if($dbResult2->num_rows < 0 and !empty($movie_id))
{
$dbInsert = $db->query("INSERT INTO movieLinks (movie_id, quality, hoster, links, status) VALUE ('$movie_id', '$quality', '$hoster', '$links', 'approve')");  
}
else
{
echo '<br> To many links for that hoster';
}
}
else
{
echo '<br>est v baze - '.$links;	  
}
}
else
{
echo '<br>quality bad - '.$firstLinks[1][$i];
}
}
}
}
}
# Функция собирает ссылки на страницы с фильмами.
# Парсер может перезапускать сам себя
# Количество попыток задаёться ограничением $count
function grabLmwtInd($db,$num,$count)
{

# Убираем ограничения по времени
set_time_limit(0);

for($i=$num; $i>0; $i--)
{
# Время между запросами
sleep(5);

# Забираем страницу
$shablon = file_get_contents('http://www.1channel.ch/index.php?page='.$i);

# Выдергиваем линки
preg_match_all('/index_item index_item_ie"><a href="\/(.+?)["]/', $shablon, $mas_link);
print_r($mas_link);
echo $i.' - '.$count.'<br>';

# Перeзапускаем цикл если линки не найдены
# Количество попыток задаёться в условии $count <= 10 и $count == 10				  
if($i > 0 and empty($mas_link) and $count <= 10){

if($count == 10){
$count = '1';
}else{
grabLmwtInd($i,++$count);
break;
}

}

# Если массив не пустой
# Разбираем его и записываем в файл
if(!empty($mas_link))
{
$ready_links = '';
for($l=0; $l<count($mas_link[1]); $l++)
{
checkPages($db,$mas_link[1][$l]);
}
}			 
}	 
}

# Запускаем функцию
grabLmwtInd($db,1,10);


выдает такую ошибку

Array


To many links for that hoster
To many links for that hoster
To many links for that hoster
To many links for that hoster
To many links for that hoster


помогите пожалуйста - движок вп .
 
M

-master-

так а что не понятно?
if($dbResult2->num_rows < 0 and !empty($movie_id))
это условие не работает, все понятно..
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!