Показать сообщение отдельно

  #6  
Старый 04.02.2009, 03:57
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
С нами: 11278406

Репутация: 818


По умолчанию

Tigger
PHP код:
<?php 
$email 
'email@rambler.ru'
$pass '123';
$from '1';
$to '5';

set_time_limit(0);   
$ua="User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)";  
$url "http://vkontakte.ru/login.php";  
$ch curl_init();  
    
curl_setopt($chCURLOPT_URL$url);  
    
curl_setopt($chCURLOPT_HEADER1);  
    
curl_setopt($chCURLOPT_USERAGENT$ua);  
    
curl_setopt($chCURLOPT_TIMEOUT10);  
    
curl_setopt($chCURLOPT_POSTtrue);  
    
curl_setopt($chCURLOPT_POSTFIELDS"success_url=&fail_url=&try_to_login=1&email=$email&pass=$pass");  
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); 
    
curl_setopt($chCURLOPT_COOKIEFILE"./cook"); 
    
curl_setopt($chCURLOPT_COOKIEJAR"./cook");
      
$res curl_exec($ch);  
curl_close($ch);  
$a strpos($res'OK' );  

if (
$a 0)
{  
    echo 
"Незалогинились =(<br>"
    exit;  
}  
$b strpos($res'Found' );  
if (
$b 0)
{  
    echo 
"<b>Удачно залогинились, приступаем к парсингу...</b><br>";
}
 
for(
$i $from$i <= $to$i++)
{
$url_p "http://vkontakte.ru/search.php?id=$i";  
$ch curl_init();  
    
curl_setopt($chCURLOPT_URL$url_p);  
    
curl_setopt($chCURLOPT_USERAGENT$ua);  
    
curl_setopt($chCURLOPT_TIMEOUT10);  
    
curl_setopt($chCURLOPT_RETURNTRANSFER1); 
    
curl_setopt($chCURLOPT_COOKIEFILE"./cook"); 
    
curl_setopt($chCURLOPT_COOKIEJAR"./cook");  
$res_p curl_exec($ch);  
curl_close($ch); 

preg_match('#<div style=\"overflow: hidden;\">(.*?)</div>#i',$res_p,$name); 

$id explode("php?",$url_p);
echo 
$id[1].":".$name[1]."<br>";

echo 
"<b>Работа окончена</b>";
?>
Результат:
Цитата:
Удачно залогинились, приступаем к парсингу...
id=1:Павел Дуров
id=2:Александра Владимирова
id=3:Вячеслав
Работа окончена
Ну как видиш в первом курле я добавил сохранение кукисов в файл, в втором ети куки читаються, как бы сессия продолжается. Добавил цикл и при помощи регулярки ищу Имена по профилям:
PHP код:
preg_match('#<div style=\"overflow: hidden;\">(.*?)</div>#i',$res_p,$name); 
Собсна все, думаю понятно.
ЗЫ как видиш первые 4 строки ето как бы конфиг:
PHP код:
$email 'email@rambler.ru'
$pass '123';
$from '1';
$to '5'
Мыло и пасс, с которых логиниться. А так же 2 переменные, с какого id начинать и каким заканчивать.

Последний раз редактировалось b3; 04.02.2009 в 11:44..
 
Ответить с цитированием