Парсер wordstat.yandex

o_nix

Хранитель порядка
Регистрация
7 Ноя 2007
Сообщения
1.070
Реакции
1.063
PHP:
<?
/*   $text = iconv('WINDOWS-1251','UTF-8', "http://wordstat.yandex.ru/?cmd=words&page=1&text=Adobe+photosho&geo=&text_geo=&captcha_id=10GSy59XzpC28LQD7EptZV8dSr5sf6tw&captcha_val=078737");  
    $yandex = file_get_contents($text);
*/	
  $agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7'; 
  $header[] = "Accept: text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5" ; 
  $header[] = "Accept_charset: windows-1251, utf-8, utf-16;q=0.6, *;q=0.1"; 
  $header[] = "Accept_encoding: identity"; 
  $header[] = "Accept_language: en-us,en;q=0.5"; 
  $header[] = "Connection: close"; 
  $header[] = "Cache-Control: no-store, no-cache, must-revalidate"; 
  $header[] = "Keep_alive: 300"; 
  $header[] = "Expires: Thu, 01 Jan 1970 00:00:01 GMT"; 

	$url=iconv('WINDOWS-1251','UTF-8', 'http://wordstat.yandex.ru/?cmd=words&page=1&text=nulled&geo=&text_geo=&captcha_id=10GSy59XzpC28LQD7EptZV8dSr5sf6tw&captcha_val=078737');
  $ch = curl_init();  
  curl_setopt($ch, CURLOPT_URL,$url);  
  curl_setopt($ch, CURLOPT_HEADER, 1); 
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);  
  curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
  curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
  curl_setopt($ch, CURLOPT_POST, 1); 
  curl_setopt ( $ch , CURLOPT_USERAGENT , $agent); 
  curl_setopt ( $ch , CURLOPT_HTTPHEADER , $header); 
  curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
  curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); 
  curl_setopt ($ch, CURLOPT_COOKIE, 'fuid01=4cbfe1f5027aecdc.J95nkLHISJXWOO3AkIcknGspT8tMmVoRbcupajczXCz2enqcSgxmE7c1v-oVXjZGJoK2opM3Yq3ineG4gDZHltJDV91mQylc1m2cIWszqCdq34q9hIUQ_khTL5a_BcWe');
//  curl_setopt ($ch, CURLOPT_COOKIE, 'yandexuid=1405208511288599201');
  $text = curl_exec($ch); 
  curl_close($ch);    
  
  echo $text;

?>

капчу обходит но почемуто не вставляет поисковую фразу в форму
если перейти по томуже адресу браузером работает а курлом нет ...
Как бороться ?

P.S.
:D блин час мучался - по разному запросы задавал искал гдебы ещё спарсить ...
а то что стока лишняя осталась не заметил :D
 
PHP:
<?
/*   $text = iconv('WINDOWS-1251','UTF-8', "http://wordstat.yandex.ru/?cmd=words&page=1&text=Adobe+photosho&geo=&text_geo=&captcha_id=10GSy59XzpC28LQD7EptZV8dSr5sf6tw&captcha_val=078737");  
    $yandex = file_get_contents($text);
*/	
  $agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7'; 
  $header[] = "Accept: text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5" ; 
  $header[] = "Accept_charset: windows-1251, utf-8, utf-16;q=0.6, *;q=0.1"; 
  $header[] = "Accept_encoding: identity"; 
  $header[] = "Accept_language: en-us,en;q=0.5"; 
  $header[] = "Connection: close"; 
  $header[] = "Cache-Control: no-store, no-cache, must-revalidate"; 
  $header[] = "Keep_alive: 300"; 
  $header[] = "Expires: Thu, 01 Jan 1970 00:00:01 GMT"; 
	$url=iconv('WINDOWS-1251','UTF-8', 'http://wordstat.yandex.ru/?cmd=words&page=1&text=nulled&geo=&text_geo=&captcha_id=10GSy59XzpC28LQD7EptZV8dSr5sf6tw&captcha_val=078737');
  $ch = curl_init();  
  curl_setopt($ch, CURLOPT_URL,$url);  
  curl_setopt($ch, CURLOPT_HEADER, 1); 
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);  
  curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
  curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
  curl_setopt($ch, CURLOPT_POST, 1); 
  curl_setopt ( $ch , CURLOPT_USERAGENT , $agent); 
  curl_setopt ( $ch , CURLOPT_HTTPHEADER , $header); 
  curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
  curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); 
  curl_setopt ($ch, CURLOPT_COOKIE, 'fuid01=4cbfe1f5027aecdc.J95nkLHISJXWOO3AkIcknGspT8tMmVoRbcupajczXCz2enqcSgxmE7c1v-oVXjZGJoK2opM3Yq3ineG4gDZHltJDV91mQylc1m2cIWszqCdq34q9hIUQ_khTL5a_BcWe');
//  curl_setopt ($ch, CURLOPT_COOKIE, 'yandexuid=1405208511288599201');
  $text = curl_exec($ch); 
  curl_close($ch);    
  echo $text;
?>
капчу обходит но почемуто не вставляет поисковую фразу в форму
если перейти по томуже адресу браузером работает а курлом нет ...
Как бороться ?

curl_setopt($ch, CURLOPT_POST, 1);
- это тут никаким боком, идёт GET запрос
:)
 
дальше можно распарсить текст

PHP:
$pattern = '/<table border="0" cellpadding="5" cellspacing="0" width="100%">(.*?)<\/table>/is';
preg_match_all($pattern, $text, $out, PREG_SET_ORDER);

$out2=$out[0][0];

$pattern3 = '/<a href=".*">(.*)<\/a>/iU';
preg_match_all($pattern3, $out2, $out3, PREG_SET_ORDER);

foreach ($out3 as $key=>$value) {
  $val = iconv('utf-8', 'windows-1251', $value[1]);
  echo $val.'<br>';
}

на выходе получаем в каждой строке по слову
 
Назад
Сверху