Работа с гуглом

  • Автор темы webrazrabot4ik
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
watson_! Держи...
Только в php переименуй... запаковывать леньки было в архив... И скачай тот файлик с юзверь агентами, ложи его в ту же директорию де и скрипт будет... И посмотри, я там закоментил запись результатов в бд. Запрос исправишь, что бы брался не с БД, а так.. ну или.. короче настроишь:

- выборку запроса (с бд, или пропишешь в ручную)
- инклуд main.php - там просто конект к базе

Ahmea!

Ща попробую, только вот проблема с проксями ещё.. все старые листы только нахожу и нерабочии...

Добавлено через 17 минут
Ahmea написал(а):
Насчет проксей с фришных сервисов. Гуголь имеет свойство их банить. Поэтому перед парсингом по своему запросу отправь через прокси запрос на гуголь какое-нить распространенное слово. loan, car или ченить в таком духе. И проверь вернулись ли линки, если нет значит прокся забанена.
И еще рекомендую сделать чтобы с каждым запросом к гуглю использовался разный useragent, тогда гуголь думает что ты публичный прокси :).
Еще гуголь не отдаст тебе больше 5000 результатов, чтобы избежать этого дописывай к своему запросу site:.com и так по всем доменным зонам которые знаешь, так будет больше эффективность.
Прилагаю файлик с небольшим списком юзерагентов.
Выбирать случайного можно как-то так:
PHP:
function get_ua()
{
        $temp = explode("\r\n", file_get_contents("useragents.txt"));
        return $temp[rand(0,count($temp)-1)];
}

хм.... врде как начал принимать :)) вот только теперь регуляка выё... ладно то уе поправим :)) Сексн всем за помощь!
 

Вложения

  • google.parser.new.txt
    3,6 KB · Просмотры: 30
Ahmea написал(а):

Еще гуголь не отдаст тебе больше 5000 результатов, чтобы избежать этого дописывай к своему запросу site:.com

гугл не даст более 1000 результатов, про 5к можно только мечтать
ну и операторы гугля знать желательно все, а не только site:
 
Да, наверное насчет 5к результатов я ошибся.
В любом случае поиск по разным доменным зонам будет эффективнее.
Вот тебе регулярка на проверку бана в гугле. В переменной $content содержится твоя сграбленная через проверяемую проксю гуглевая страница. Она просто проверяет есть ли на странице линки =) чтобы это не была та чудная страница гугля где написано, мол у нас spyware на компе, низя ничего искать =)
PHP:
$pattern = "/<a title=.*href=(.*)>.*<\/a>/isU";
if (preg_match_all($pattern, $content, $matches))
    $ok_proxy[] = $proxy;
Чтобы разобраться в операторах гугля, можно почитать что-то такое:
_Для просмотра ссылки Войди или Зарегистрируйся

На англицком правда, примеры кода на перле, но при желании разобраться можно.
 
Ahmea написал(а):
Чтобы разобраться в операторах гугля, можно почитать что-то такое:
_Для просмотра ссылки Войди или Зарегистрируйся

На англицком правда, примеры кода на перле, но при желании разобраться можно.
операторы поиска в гугле Для просмотра ссылки Войди или Зарегистрируйся
 
wayfarer написал(а):
операторы поиска в гугле Для просмотра ссылки Войди или Зарегистрируйся
да мне нужно было всего-то ничего :) просто линки и не более.. одноразово... Собираю базу для поисковика первичную, потом уже по этой базе линки на другие сайты и т.п...

А 5К это по 10 помойму запросам :) кстати 5К - это уникальные все линки :)))) т.е. без повторений... но почти 1К потерял из-за хостера блин... и около 1К в дауне!
 
И еще, если внимательно читать этот форум, то в некоторых скриптах можно было уже найти готовые решения и очень эффективные. Смотрите вложения:
 

Вложения

  • parsers.rar
    3,3 KB · Просмотры: 33
Ahmea написал(а):
И еще, если внимательно читать этот форум, то в некоторых скриптах можно было уже найти готовые решения и очень эффективные. Смотрите вложения:
прикольно.. но вот только у него полурабочее состояние... он то парсит, то не парсит... яху и мсн воообще не пропарсил.... кстати вопрос на тему проксей... Де можно рабочии взять? шо-то я только не рабочий хлам нахжу...
 
webrazrabot4ik написал(а):
прикольно.. но вот только у него полурабочее состояние... он то парсит, то не парсит... яху и мсн воообще не пропарсил.... кстати вопрос на тему проксей... Де можно рабочии взять? шо-то я только не рабочий хлам нахжу...


Прикрути чекалку проксей докучи и все будет в ажуре. Причем лучше всего эти процессы парсер-чекалка запараллелить чтоб всегда свежак был под рукой. Т.е. прокси для парсера брать брать не из общего списка а из обработанных чекалкой которую соответственно по крону тоже запускать и выдачу перезаписывать постоянно, а оттуда уже для парсера брать.
 
webrazrabot4ik, он рабочий, если надо могу показать пример как использовать.
Jeurey, вместо "thx - полезно. Руками лень искать" можно было просто кнопку пасиба нажать.
А насчет проксей где брать -
Для просмотра ссылки Войди или Зарегистрируйся
Доставать можно так:
Если прокся и порт в одном теге:
PHP:
    function extractor1($input)
    {
        preg_match_all('/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?):[0-9]*/', $input, $result);
        return (isset($result[0]))? $result[0] : array();
    }
Если в соседних:
PHP:
    function extractor2($input)
    {
        $parser = new HtmlParser($input);
        $proxyflag = false;
        $currentproxy = '';
        $result = array();
        while ($parser->parse())
        {
            if ($parser->iNodeType==3)
            {
                if (!$proxyflag)
                {
                    if (preg_match('/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/', $parser->iNodeValue, $out)==1)
                    {
                        $currentproxy = $out[0];
                        $proxyflag = true;
                    }
                }
                else
                {
                    if ($parser->iNodeValue>0)
                    {
                        $proxyflag = false;
                        $result[] = $currentproxy.":".trim($parser->iNodeValue);
                        $currentproxy = "";
                    }
                }
            }
            
        }
        unset($parser);
        return $result;
    }
Во вложениях класс для работы второго выковыривателя.
Это пример, я уверен можно сделать и проще. На вход каждой функции даешь содержимое страницы.
И еще некоторые проксилисты защищают свои прокси преобразуя цифры во что-то типа:
&#49&#50&#47&#58&#49&#50&#47&#58
Вот функция которая поможет решить эту проблему:
PHP:
    function modifier1($text)
    {
        for ($i=0; $i<10; $i++)
            $text = str_replace("&#".(48+$i), $i, $text);
        $text = str_replace("&#46", ".", $text);
        $text = str_replace("&#58", ":", $text);
        return $text;
    }
 

Вложения

  • htmlparser_class.rar
    1,7 KB · Просмотры: 16
Может кто подскажет чем проверит базу ссылок
на живучесть
ну битая или неь
а так же отсортировать по Тиц

подскажите
ато нашел кучу фигни
но это не то
желательно декстоп прогу:thenks: :thenks: :thenks: :thenks:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху