Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Чем пропарсить выдачу Google? |

14.02.2009, 15:23
|
|
Познающий
Регистрация: 26.10.2007
Сообщений: 83
Провел на форуме: 335555
Репутация:
45
|
|
Чем пропарсить выдачу Google?
Чем пропарсить выдачу Google? Нужно выдрать URL'ы, по определённым запросам, немного штук 200-300. Есть ли готовые решения, желательно скрипт.
|
|
|

14.02.2009, 15:59
|
|
Постоянный
Регистрация: 04.07.2007
Сообщений: 827
Провел на форуме: 2504528
Репутация:
882
|
|
hrefer
если скрипт то вот
http://www.google.com/ie?q=&num=100&hl=ru&start=0&sa=N&filter=0 это поиск
это потом тыкаем ссылки извлечь
java script:all=document.links.length;mass='<b>Всег о ссылок на странице:\u0020'+all+'</b><br><br>\n';for(i=0;i<all;i++){mass+=document.li nks[i]+'<br>\n';}newwind=window.open('about:blank','resu lt','width=600,top=100,left=100,scrollbars=1');new wind.document.write(mass);
Последний раз редактировалось CrazyStudentS_Mi}{; 14.02.2009 в 16:04..
|
|
|

15.02.2009, 09:26
|
|
Участник форума
Регистрация: 26.10.2007
Сообщений: 283
Провел на форуме: 2605910
Репутация:
212
|
|
http://webdos.freezoka.com/files/htmllerz.zip
|
|
|

15.02.2009, 18:26
|
|
Участник форума
Регистрация: 20.07.2008
Сообщений: 177
Провел на форуме: 625939
Репутация:
54
|
|
AGGRESS Parser
|
|
|

16.02.2009, 10:58
|
|
Познающий
Регистрация: 27.11.2007
Сообщений: 97
Провел на форуме: 540764
Репутация:
57
|
|
Рабочий allsubmitter, зануленная Аура (там правда больше 1000 за один подход не спарсишь).
|
|
|

20.02.2009, 15:29
|
|
Участник форума
Регистрация: 08.05.2007
Сообщений: 164
Провел на форуме: 466673
Репутация:
784
|
|
Пожалуйста, пример парсера для пхпбб (смотрите код, чтобы оптимизировать под иной движок)
PHP код:
<?php
/*Google parser v.0.1 by M4g, icq 884888*/
$log_file = 'log.dat';
$zapros = 'powered by phpbb';
set_time_limit (0);
//ignore_user_abort(true);
function setcookies($headers)
{
$headers=explode("\r\n",$headers);
for($x=0; $x<count($headers); $x++)
{
if(preg_match('/^set-cookie:[\s]+([^=]+)=([^;]+)/i', $headers[$x],$match))
return array($match[1] => urldecode($match[2]));
}
}
function parse_serp($engine, $query,$page=0)
{
global $cookies;
switch (strtolower($engine))
{
case 'google':
$page!=0 ? $page=100*$page : '';
$result='';
$site='www.google.com';
path='/ie?hl=en&num=100&start='.$page.'&lr=&q='.urlencode(trim($query));
$fp = @fsockopen($site, 80, $errno, $errstr, 30);
$out = "GET $path HTTP/1.1\r\n";
$out .= "Host: $site\r\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: Close\r\n";
$out .= "User-Agent: Opera/9.60 (Windows NT 5.1; U; ru) Presto/2.1.1\r\n";
if ( count($cookies) > 0 )
{
$cookie_str = 'Cookie: ';
foreach ( $cookies as $cookieKey => $cookieVal ) {
$cookie_str .= $cookieKey."=".urlencode($cookieVal)."; ";
}
$out .= substr($cookie_str,0,-2)."\r\n";
}
$out .= "Referer: http://www.google.com/ie\r\n\r\n";
@fwrite($fp, $out);
while (!@feof($fp))
{
$result .= @fread($fp, 1024);
}
$cookies=setcookies($result);
flush();
print $query."<br/>\n";
$pattern = '/<a title="(.+)" href=(.+)>(.+)<\/a>/isU';
if(preg_match_all($pattern, $result, $matches))
{
for ($i=0; $i<count($matches[0]); $i++)
{
$link = $matches[2][$i];
$link=trim($link);
$serp[] = $link;
}
}
break;
}
return $serp;
}
for($page=0;$page<11;$page++)
{
$result = parse_serp('google',$zapros,$page);
$different=array();
for($i=0;$i<count($result);$i++)
{
preg_match("/(.+)\/(viewtopic|login|\s)(.+)/i",$result[$i],$arra[$i]);
$different[]=$arra[$i][1];
}
$different=array_unique($different);
for($i=0;$i<count($different);$i++)
{
if(!empty($different[$i]))
{
$fp = fopen($log_file,"a");
flock ($fp, LOCK_EX);
fputs($fp,"\n".$different[$i]);
flock ($fp, LOCK_UN);
fclose($fp);
}
}
sleep(rand(13,19));
if(count($result)<100) break;
}
?>
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|