Sergyk
Мой дом здесь!
- Регистрация
- 1 Авг 2006
- Сообщения
- 275
- Реакции
- 371
- Автор темы
- #1
Лежал у меня давно парсер гугла через прокси.
Сейчас решил использовать, но столкнулся с ошибками.
Помогите отладить плз.
Сейчас решил использовать, но столкнулся с ошибками.
Помогите отладить плз.
PHP:
<?
ini_set('display_errors',1);
error_reporting(E_ALL);
if ($qs){
function parsergoogle($qs){
define("PROXY_FILE", "proxy.txt");
global $file;
$c=0;
while($c < count($qs))
{
$q=trim($qs[$c]);
print "$q<br>";
$q=urlencode($q);
$start=0;
while($start < 1000)
{
//check google
$result3="";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "http://www.google.com/search?q=qwerty&hl=en&lr=&as_qdr=all&sa=N&filter=0");
curl_setopt($ch, CURLOPT_PROXY,$proxy);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)");
curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/");
curl_setopt($ch, CURLOPT_TIMEOUT,30);
$result3 = curl_exec($ch);
curl_close($ch);
if(substr_count($result3, "qwerty")>2)
{
$proxy="";
}
else
{
$proxy_list=file("proxy.txt");
$proxy=trim($proxy_list[rand(0, count($proxy_list))]);
}
//check google
while($start < 1000)
{
$result="";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "http://www.google.com/search?q=$q&num=100&hl=en&lr=&as_qdr=all&start=$start&sa=N&filter=0");
curl_setopt($ch, CURLOPT_PROXY,$proxy);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)");
curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/");
curl_setopt($ch, CURLOPT_TIMEOUT,30);
$result = curl_exec($ch);
curl_close($ch);
//echo $result;
$result_a=explode("<h3 class='r'>", $result);
$result="";
$a=1;
//echo "COUNT:".count($result_a)."<br>";
while($a < count($result_a))
{
//echo $result_a[$a];
//echo "A:$a<br>";
preg_match_all('!<a href="(.*)" class=l!U', trim($result_a[$a]), $result1);
$link=trim($result1[1][0]);
if(count($result_a)<100 AND $a==count($result_a)-1)
{
$start="1000";
}
else
{
//echo $link."<br>";
$url=trim($link);
$file_out=fopen("$file","a");
fwrite($file_out,$url."\r\n");
fclose($file_out);
}
$a++;
}
if(count($result_a) < 2)
{
$start=1000;
}
$start=$start+100;
}
sleep(5);
$c++;
}
}
return($c);
}
$qs=explode("\r\n",$qs);
$a=parsergoogle ($qs);
$open = file($file);
$result = array_unique ($open);
unlink ("$file");
foreach($result as $number)
{
$file_out=fopen("$file","a");
fwrite($file_out,$number);
fclose($file_out);
}
print "<center><a href=$file class=t_stats4>Скачать результат</a></center>";
}
else{
print '
Введите запросы.<br>
<form method="POST" action="">
<p><textarea rows="21" name="qs" cols="28"></textarea></p>
<p>Сохранить в файл: <input type="text" name="file" size="20"></p>
<p><input type="submit" value="Chek" name="B1"></p>
</form>
';
}
?>