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

Форум АНТИЧАТ (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=171568)

budden 17.01.2010 19:43

Парсер гугла.
 
Нужен сабж, вроде такого:
http://goohackle.com/scripts/google_parser.php

Желательно, чтобы тоже выдавал капчу, когда ее сам гугл просит, а я ее вводил. Нужно поставить на сервер. Бывает такое?

WNZRS 17.01.2010 19:53

PHP код:

<?php
    
/*
        GET параметры:
        q = запрос
        c = кол-во страниц для парсинга
    */
    
$q '';
    if(isset(
$_GET['q'])) $q $_GET['q'];
    
$been '';
    
$colvo 17;
    if(isset(
$_GET['c'])) $colvo $_GET['c'];
    for(
$i=0$i $colvo*10$i+=10)
    {
        
$url 'http://www.google.ru/search?hl=ru&q='.urlencode($q).'&start='.($i);
        
$html file_get_contents($url);
        
preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]+)[^>]*>/",$html,$a);
        for(
$x=0$x<sizeof($a[1]); $x++)
        {
            if(
strcmp(substr($a[1][$x], 04), 'http') == && 
            
strpos($a[1][$x], '74.125.77.132')===false && strpos($a[1][$x], 'google')===false && strpos($a[1][$x], 'youtube')===false)
            {
                
$str urldecode($a[1][$x]);
                
$str substr($str7);
                
$end strpos($str'/');
                if(
$end 0)
                    
$str substr($str0$end);
                if(
strpos($beenstr_replace('www.','',$str)) === false)
                {
                    
$been .= $str '+';
                    echo 
$str.'<br>';
                }
            }
        }
        
Sleep(1);
    }
?>


devton 17.01.2010 20:04

гугль не всегда надо парсить кстати ))) чтобы получить список ссылок достаточно грамотно попросить

Komyak 17.01.2010 21:47

Цитата:

гугль не всегда надо парсить кстати ))) чтобы получить список ссылок достаточно грамотно попросить
С таким же успехом можно нажать ctrl+j в опере. А если нужно выпарсить ссылок по ста ключам, так и будешь нажимать на гор.клав.?

m0Hze 17.01.2010 22:55

Цитата:

Сообщение от Komyak
С таким же успехом можно нажать ctrl+j в опере. А если нужно выпарсить ссылок по ста ключам, так и будешь нажимать на гор.клав.?

При чем тут клавиши? Тебе дали ссылку,с нужными ключами для гугла,достаточно лиш парсить результаты.С этими ключами,он просто возвращает массив ссылок,без тайтлов,что намного упрощает парсинг.

budden 19.01.2010 17:14

Всем спасибо, особенно devton, так можно и локально попарсить.

Solker 20.01.2010 03:11

PHP код:

<?php

$query 
"Macoley";

$url "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=".urlencode($query);
$body file_get_contents($url);

echo 
$body;

$json json_decode($body);
foreach (
$json->responseData->results as $resultjson) {
    
$result_google['title']= $resultjson->title;
    
$result_google['url']= $resultjson->url;
    
$result_google['content'] = $resultjson->content;
}

print_r($result_google);

?>

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

CyberHunter 27.01.2010 23:27

Гы... Популярная тема на ачате.... В последнее время таких парсеров видел минимум 5.

Vlad&slav 30.01.2010 12:07

Цитата:

Сообщение от CyberHunter
Гы... Популярная тема на ачате.... В последнее время таких парсеров видел минимум 5.

Согласен. Мне самому нужн был :D


Время: 17:12