Реклама на сайте Advertise with us

Может есть у кого скрипт парсер выдачи гугла?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 30.06.03
Сообщения: 794
Рейтинг: 202

Ссылка на сообщениеДобавлено: 25/10/04 в 22:07       Ответить с цитатойцитата 

если не жалко кинтье в этот топик

Я бы взял частями, но мне нужно сразу=))

0
 



С нами с 30.06.03
Сообщения: 794
Рейтинг: 202

Ссылка на сообщениеДобавлено: 25/10/04 в 22:11       Ответить с цитатойцитата 

я бы сам написал только regexp не знаю на данный момент
а стрреплейсом ворочать не хочется

Я бы взял частями, но мне нужно сразу=))

0
 



С нами с 27.02.03
Сообщения: 873
Рейтинг: 402

Ссылка на сообщениеДобавлено: 25/10/04 в 22:34       Ответить с цитатойцитата 

А алгоритма вычисления ch для пыжранка не надо?

(зы никто тебе ничего не кинет - сам подумай почему)

0
 



С нами с 30.06.03
Сообщения: 794
Рейтинг: 202

Ссылка на сообщениеДобавлено: 25/10/04 в 22:44       Ответить с цитатойцитата 

perlmaster писал:
А алгоритма вычисления ch для пыжранка не надо?


Спасибо, у меня есть.

Я бы взял частями, но мне нужно сразу=))

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 26/10/04 в 05:25       Ответить с цитатойцитата 

Может, что из этого подойдет?

http://search.cpan.org/search?query=Google&mode=module

0
 



С нами с 25.12.03
Сообщения: 1003
Рейтинг: 462

Ссылка на сообщениеДобавлено: 26/10/04 в 16:10       Ответить с цитатойцитата 

стучись
icq: 170636917

Sutra - лучшая система управления трафом

0
 



С нами с 15.09.03
Сообщения: 484
Рейтинг: 210

Ссылка на сообщениеДобавлено: 26/10/04 в 16:16       Ответить с цитатойцитата 

perlmaster писал:
А алгоритма вычисления ch для пыжранка не надо?
(зы никто тебе ничего не кинет - сам подумай почему)


тут уже кидали..

а вообще, что , парсер гугла это такая страшная тайна? за час пишется без проблем

0
 



С нами с 30.06.03
Сообщения: 794
Рейтинг: 202

Ссылка на сообщениеДобавлено: 26/10/04 в 17:12       Ответить с цитатойцитата 

Парсер гугла есть тайна великая icon_smile.gif

Вот, прямо с локалхоста, тепленький еще icon_smile.gif

Цитата:

<?
//****************************************************************************//
function GetPage($url,$pageurl,$proxy,$port)
{
$fp=fsockopen($proxy,$port,$errno,$errstr,'600');
fputs($fp, "GET $url$pageurl HTTP/1.0\r\nHost: $proxy\r\n\r\n");
$page="";
$page_out="";
while(!feof($fp))
{
$buf=trim(fgets($fp,4096));
$pos=strpos($buf,'<p class=g>');
if($pos!==false)
{
$parts=explode('<p class=g>',$buf);
$parts2=explode('http://',$parts[1]);
$parts3=explode('>',$parts2[1]);
$page_out_temp=$parts3[0];
$page_out_temp=trim($page_out_temp);
$page_out_temp=$page_out_temp."\n";
$page_out=$page_out.$page_out_temp;
}
}
fclose($fp);
echo '*';
flush();
return $page_out;
}
//****************************************************************************//
function GoogleResult($query,$proxy,$port)
{
$allpages='';
$url='http://www.google.com/';
$pageurl="search?hl=en&q=$query&btnG=Google+Search";
$main_page=GetPage($url,$pageurl,$proxy,$port);
$allpages=$allpages.$main_page;
for($x=10;$x<1010;$x=$x+10):
$url='http://www.google.com/';
$pageurl="search?q=$query&hl=en&lr=&start=$x&sa=N";
$main_page=GetPage($url,$pageurl,$proxy,$port);
$allpages=$allpages.$main_page;
endfor;
$allpages=trim($allpages);
$allpages=explode("\n",$allpages);
$allpages=array_unique($allpages);
$file_out=fopen("out.txt","w+");
$temp_out="";
for($z=0;$z<count($allpages);$z++):
$temp_out=$temp_out.$allpages[$z]."\n";
endfor;
$temp_out=trim($temp_out);
fwrite($file_out,$temp_out);
fclose($file_out);
echo 'Done';
flush();
}
//****************************************************************************//
$query='porn';
$proxy='62.135.103.130';
$port='8080';
GoogleResult($query,$proxy,$port);
//****************************************************************************//
?>


Складывает результаты в out.txt
Для работы нужно установить php таймаут побольше.
Если страниц в выдаче меньше ста все равно забирает сто, влом
писать определялку сколько страниц в выдаче, проблема решается
удалением одинаковых значений из массива.
Работает через проксю icon_smile.gif

Пользуйся наздоровье и стар, и млад icon_smile.gif icon_smile.gif icon_smile.gif

Я бы взял частями, но мне нужно сразу=))

0
 



С нами с 30.06.03
Сообщения: 794
Рейтинг: 202

Ссылка на сообщениеДобавлено: 26/10/04 в 17:29       Ответить с цитатойцитата 

Притензии 'у тебя код хуевый' оставтье при себе icon_smile.gif

Я бы взял частями, но мне нужно сразу=))

0
 

БешаныйСуслег

С нами с 16.06.04
Сообщения: 1322
Рейтинг: 1338

Ссылка на сообщениеДобавлено: 26/10/04 в 20:57       Ответить с цитатойцитата 

Имхо лучше/правильнее/удобнее/быстрее возъюзать SOAP Google API.
Код не привожу по причине на которую намекали выше icon_smile.gif

0
 



С нами с 25.12.03
Сообщения: 1003
Рейтинг: 462

Ссылка на сообщениеДобавлено: 27/10/04 в 03:25       Ответить с цитатойцитата 

google api руль для небольших объемов поисков

Sutra - лучшая система управления трафом

0
 



С нами с 26.08.04
Сообщения: 46
Рейтинг: 42

Ссылка на сообщениеДобавлено: 27/10/04 в 12:14       Ответить с цитатойцитата 

Alpha_Juno писал:
если не жалко кинтье в этот топик


#!/usr/bin/perl -w
# google_box.pl
# A classic Google box implementation
# Usage: perl google_box.pl <query> <# results>

# Your Google API developer's key
my $google_key=''вашключ";

# Location of the GoogleSearch WSDL file
my $google_wdsl = 'GoogleSearch.wsdl';

use strict;

use SOAP::Lite;

# Bring in those command-line arguments
@ARGV == 2 or die "Usage: perl googlebox.pl <query> <# results>\n";
my($query, $maxResults) = @ARGV;
$maxResults = 10 if ($maxResults < 1 or $maxResults > 10);

my $google_search = new SOAP::Lite ->
service('file:./GoogleSearch.wsdl');
# service('http://api.google.com/GoogleSearch.wsdl');
# Query Google
my $results = $google_search ->
doGoogleSearch(
$google_key, $query, 0, $maxResults, "false", "",
"false", "", "latin1", "latin1"
);

# No results?
@{$results->{resultElements}} or die "no results";

print join "\n",
map( {
qq{<a href="$_->{URL}">($_->{title}</a><br /> } .
#($_->{title} || $_->{URL} || $_->{snippet}) .
($_->{snippet}) .
qq{</a> <br />}
#qq {($_->{snippet})} .
} @{$results->{resultElements}} );
#источник http://hacks.oreilly.com/pub/h/187

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »