Всех приветствую! Написал для своих нужд скрипт авторизации и парсинга слов из проектов в сеопульте, скрипт не работает, а конкретно не парсит слова в проектах. Сначала разбил скрипт на несколько мелких скриптов(авторизация на сеопульт, парсинг страницы всех проектов, парсинг слов со страницы проекта) и по отдельности все эти скрипты работают. Аналогичный скрипт писал на Xedant Human Emulator, там такая же проблема. В скриптах(и php и XHE) ставил проверки с выводом во всех частях кода - проблема возникает с парсингом слов со страницы проекта - не работает последний уровень вложенности if (preg_match) {}, хотя в отедельном скрипте данная конструкция работает. У кого рубящего в php есть акк в сеопульте подскажите, если не сложно. Вот код:Код | <?
// Бесконечное время работы скрипта set_time_limit('0');
// Логин и пароль в Seopult $login = 'login'; $password = 'password';
// Папка для итоговых результатов $folder = 'seopult\\'; $dir = mkdir ($folder, 0777, true);
$referer = "http://www.seopult.ru";
$url = "http://seopult.ru/user.html?itp_redirect=%2Fguest.html"; $user_agent = 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.10) Gecko/2009042523 Ubuntu/8.10 (intrepid) Firefox/3.0.10'; $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cookies.txt'; $headers = array ( 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8', 'Accept-Language: ru,en-us;q=0.7,en;q=0.3', 'Accept-Encoding: gzip,deflate', 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7' ); $ch = curl_init($referer); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_REFERER, "http://seopult.ru/"); curl_setopt($ch, CURLOPT_POSTFIELDS, 'uname='.$login.'&pass='.$password.'&op=login'); curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); $result = curl_exec($ch); curl_setopt($ch, CURLOPT_URL, 'http://seopult.ru/items.html'); $result = curl_exec($ch); // Проверка проводилась, результат сохраняется в файл
if (preg_match_all ('|<td class="project_inner">(.*?)</td>|is', $result, $project)) { for ($i = 0; $i <= count($project[1]); $i++) { if (preg_match ('|<a href="(.*?)"(.*?)>(.*?)</a>|is', $project[1][$i], $project2)) { $url_pr = 'http://www.seopult.ru'.$project2[1]; curl_setopt($ch, CURLOPT_URL, $url_pr); $result = curl_exec($ch); // Проверка проводилась, результаты сохраняются в файлы if (preg_match_all ('|<tr class=(.*?)</tr>|is', $result, $project3)) { for ($k = 0; $k <= count($project3[1]); $k++) { if (preg_match ('|(.*?)<h1>(.*?)</h1>(.*?)title="Нажмите, чтобы посмотреть историю позиций" class="">(.*?)</a>(.*?)2Fyandex.ru%2Fyandsearch%3Ftext%3D%(.*?)target="_blank">(.*?)</a>|is', $project3[1][$k], $project4)) { if ($project4[7] > 10) { echo $project4[4]." ".$project4[7]."<br>"; $fh = fopen($folder.$project4[1].'.txt', 'w+'); fputs ($fh , $project4[4]); fclose ($fh); } } } } } } }
curl_close($ch);
?> |
Спасибо!
|