set_time_limit function get_yandex_key key page key urlencode iconv wi

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?
set_time_limit(0);
function get_yandex_key($key, $page){
$key = urlencode(iconv('windows-1251', 'utf-8', $key));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'http://wordstat.yandex.ru/?cmd=words&geo=&page='.$page.'&text='.$key.'&text_geo=%D0%92%D1%81%D0%B5');
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 25);
//curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Charset: windows-1251;q=0.7,*;q=0.7'));
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2");
$ref = 'http://wordstat.yandex.ru/';
if($page > '1'){
$ref = 'http://wordstat.yandex.ru/?cmd=words&geo=&page='.($page-1).'&text='.$key.'&text_geo=%D0%92%D1%81%D0%B5';
}
curl_setopt($ch, CURLOPT_REFERER, $ref);
$result = curl_exec($ch);
return $result;
}
$page = 1;
$file = fopen('cont.txt',"w");
while($page !== 0){
$cont = get_yandex_key('авто',$page);
//$cont = iconv('utf-8', 'windows-1251', get_yandex_key('авто',$page));
fwrite($file, $cont.'######');
if (preg_match_all('/<p class="smaller">Что искали[\\w\\W<>]*Страницы:/', $cont, $match)) {
if (preg_match_all('/<a[^>]*>([^<]*)</', $match[0][0], $a)) {
echo('<pre>');print_r ($a[1]);echo('</pre>');
} else {
echo('Не спарсил урлы');
$page = 0;
}
} else {
echo('Не спарсил страницу - '. $page);
$page = 0;
}
if (ereg('/<a[^>]*>следующая[^<]*<span>/', $cont)) {
$page++;
} else {
echo "нету следующей страницы";
exit;
}
sleep(10);
}
fclose($file);
?>