Поправить скрипт парсинга слов из проектов в seopult'е

J4
На сайте с 21.05.2009
Offline
99
915

Всех приветствую! Написал для своих нужд скрипт авторизации и парсинга слов из проектов в сеопульте, скрипт не работает, а конкретно не парсит слова в проектах. Сначала разбил скрипт на несколько мелких скриптов(авторизация на сеопульт, парсинг страницы всех проектов, парсинг слов со страницы проекта) и по отдельности все эти скрипты работают. Аналогичный скрипт писал на 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);

?>

Спасибо!

inse3t
На сайте с 08.05.2006
Offline
84
#1

1. научитесь нормально излагать мысли

2. не будьте нахлебкином

3. протрейсите все результаты и найдите причину неработоспособности

J4
На сайте с 21.05.2009
Offline
99
#2
inse3t:
1. научитесь нормально излагать мысли
2. не будьте нахлебкином
3. протрейсите все результаты и найдите причину неработоспособности

1. Учту, хотя по-ему и тут довольно понятно изложено.

2. Я не Нахлебкин, да и не нахлебник тоже, мне кажется в скрипте небольшая ошибка и можно подсказать в рамках помощи на форуме, за скрипты, написанные с нуля я плачу.

3. Весь день этим и занимался, если бы сам нашел ошибку здесь не стал бы создавать тему.

Планировалось, чтобы скрипт авторизовывался в сеопульте(работает), заходил на страницу со списком всех проектов(работает), заходил по очередно в каждый из проектов(работает), парсил определенные продвигаемые запросы из проекта(не работает).

inse3t
На сайте с 08.05.2006
Offline
84
#3

Ну значит трейсить послдений пункт?

Имхо вполне логично.

Я сомневаюсь что кто-то за просто так будет исправлять Ваши ошибки.

Ладно бы хоть код был более-менее приятный...

J4
На сайте с 21.05.2009
Offline
99
#4

Кто может за wmr поправить данный скрипт с предложениями пишем в личку!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий