Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите реализовать парсер результатов ГУГЛА (https://forum.antichat.xyz/showthread.php?t=201414)

scorpic393 03.05.2010 20:50

Помогите реализовать парсер результатов ГУГЛА
 
Помогите плииизз реализовать парсер результатов ГУГЛА,
т.е. я посылаю ему inurl:"blablabla" , он мне выдаёт результаты, допустем 10, по дефлоту.

и я из этих результатов должен получить список УРЛов, на сайты с моим поисковым запросом, подскажите плиз и посоветуйсте алгоритм написание на PHP такого

WNZRS 03.05.2010 20:54

ищи по форуму, было много всяких вариантов

BABBLS 03.05.2010 21:39

зачем изобретать что то еще... если уже готовые скрипты есть?
типа скрипт одабейс

m0Hze 04.05.2010 00:33

Цитата:

Сообщение от BABBLS
зачем изобретать что то еще... если уже готовые скрипты есть?
типа скрипт одабейс

Кагбе, я в шоке. 150$ за 100-1500 строчек говяного кода?
Даю наводку ТС.
PHP код:

 $page file_get_contents('http://www.google.com/ie?q=' urlencode($query) .
        
'&num='.$countPage.'&hl=ru&start=' $pageNum '00&sa=N');
    
preg_match_all('#title="(.*)" href=(.*)>#isU'$page$match); 


devton 04.05.2010 10:03

да помогут тебе этот и этот линки

eLWAux 04.05.2010 13:53

модуль из одного довольно большого парсинг-движка:
PHP код:

     // itspoma, 12.04.2010
         
     
class google
     
{
         public 
$pages 0;
         public 
$try 0;
             
         function 
parse($q$page 0) {
                global 
$config;
                     
                
$count_inpage rand(41,59);
                
$offset $page*$count_inpage;
                
$google_page curl('http://www.google.com/search?hl=ru&q='.urlencode($q).'&start='.$offset.'&num='.$count_inpage.'&');
                
debug($google_page'google_page'.($page+1));
                     
                if (
stristr($google_page'>Sorry...<'))
                {
                    
sleep(10);
                    
$page += rand(1,4);
                    
$this->try++;
                    if (
$this->try <= 3) {
                        return 
$this->parse($q.' '$page);
                    }
                    return array();
                }
                     
                
$links = array();
                
$temp_links = array();
                
preg_match_all('/<h3 class=r><a href="(.+?)"/is'$google_page$temp_links);
                
ar_push_ar($links$temp_links[1]);
                     
                
preg_match_all('/<a href="\/url\?q=(.+?)[&|"]+/is'$google_page$temp_links);
                
ar_push_ar($links$temp_links[1]);
                     
                if (
$config['debug'] == True)
                    echo 
'<b><font color=red>page '.($page+1).'</b></font> '.count($links).'<br/>';
                     
                if (
stristr($google_page,'&amp;start='.(($page+1)*$count_inpage))) {
                     if (
$this->pages-&& $page >= $this->pages-1) {
                         return 
$links;
                     }
                     
$temp_links $this->parse($q$page+1);
                     
ar_push_ar($links$temp_links);
                }
                     
                return 
$links;
         }
     }

    
// ф-ция для добавления масива в другой масив
    
function ar_push_ar(&$a,$b)
    {
             foreach(
$b as $el)
             {
                 
array_push($a$el);
             }
    } 

юзать:
PHP код:

$g = new google();
$g->pages 3;
$links $g->parse('antichat');
var_dump$links ); 


scorpic393 04.05.2010 15:31

moHze, elWaux, спасибо большое!

olishort 04.05.2010 23:03

через пару запросов от гугла капча придет, либа бан. юзай прокси

phpdreamer 04.05.2010 23:49

Цитата:

Сообщение от olishort
через пару запросов от гугла капча придет, либа бан. юзай прокси

:D
наверно Вас в гугле так и забанили...


Время: 13:55