Парсинг Яндекса и Гугла. Вопрос про капчу.

Тема в разделе "Тех. вопросы", создана пользователем tulvit, 3 фев 2010.

Статус темы:
Закрыта.
  1. tulvit

    tulvit Создатель

    Регистр.:
    26 янв 2010
    Сообщения:
    30
    Симпатии:
    5
    Требуется парсить серп Яндекса и Гугла, а также чекать количество страниц в индексе, нахождения страницы в кэше. Задача состоит в том, чтобы капча вылезала максимально редко, а в идеале вообще не появлялась.

    Есть ли разница, парсить файловыми функциями(file_get_contents()) или надо эмулировать браузер и юзать сокеты/CURL? Если разница большая и эмулировать браузер надо, то фальсифицировать достаточно только USER_AGENT или еще что-нибудь, реферер тот же?

    С какой частотой лучше делать запросы? Если делать паузу, то какой продолжительности, и надо ли делать ее рандомной, например в промежутке 2-4 секунды? Или же более продуктивно делать запросов n без задержки, потом пауза в несколько секунд, потом снова несколько запросов.

    Очень не хочется искать самому оптимальный вариант, тем более задача более чем тривиальна. Надеюсь, кто-нибудь поделится практическим опытом. Заранее спасибо.
     
  2. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    На все вопросы ответить не смогу, но насчет гугля важен еще сам запрос, чем больше юзаешь операторов, тем быстрее бан, с inurl каптча практически моментально, поэтому по мере возможности парсят с текстом страниц (общими признаками).
    Без проксей ты будешь очень долго и нудно парсить, парсинг с задержками без проксей делается только если нужно спарсить точную выдачу малого количества страниц, скажем малопопулярный двиг которого всего 2к установок.
    У каптчи есть также такое вредное свойство, что с того момента как ты ее получил, получать ее будешь гораздо чаще, т.е. раз тебя спалили, будут меньше доверять, а в конце гугля вообще скажет что больше тебе ничего показывать не будет.
     
  3. tulvit

    tulvit Создатель

    Регистр.:
    26 янв 2010
    Сообщения:
    30
    Симпатии:
    5
    В основном надо парсить будет без операторов.

    Про гугл знаю, несколько проверок на наличие кэша страницы - и бан на пол дня, даже капчу не дает ввести.

    Прокси использовать не хочу по некоторым соображениям.

    Объемы парсинга примерно от нескольких сотен до нескольких тысяч запросов.

    К примеру, тот же Оллсабмиттер парсит все достаточно хорошо, капчи, правда, появляются достаточно часто, но это не смертельно.
     
  4. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Понятно что каптчи несмертельно, я например хрефом в 500 потоков с сервака парсю, временами даже ложу *** на операторы :)
    только тебе ответил, наткнулся на форуме ботмастера на похожий вопрос, вот что говорят (поверь мне, никому не верь (ц) :))

    зы: олсаб не парсер для серьезных объемов, или у меня год назад комп был слишком старый, но при интенсивном парсинге он загибался.
    зыы: кста с параметрами тоже нужно поиграться, и стараться искать как большинство юзеров, без разных хитрых интерфейсов, насчет этого не тестил, но думаю разница будет.
     
  5. tulvit

    tulvit Создатель

    Регистр.:
    26 янв 2010
    Сообщения:
    30
    Симпатии:
    5
    Я парсю успешно, объемы, конечно, не сверхгигантские, но все же. Комп тоже не предмет гордости. Может в версии олсаба дело, у меня последняя версия, лицензия. Хотя помнится год-два назад, когда сам собирал базы для прогона и выпарсивал десятки тысяч разных форумов, гостевых и досок, тоже проблем не было, сейчас точно не вспомню, но вроде даже капча практически никогда не выскакивала.

    10 секунд это уж слишком как-то. 1000 запросов за почти три часа, только если на ночь поставить парситься. Тем более здесь про гугл, с яндексом еще жестче дела обстоят. При парсинге оллсабом яндекса и гугла при одинаковых параметрах капчу гугла вижу очень редко, капчу яндекса - постоянно.

    Пока самый актуальный вопрос это есть ли разница, чем парсить, файловыми функциями или CURL-ом и подсовывать левый юзер-агент и прочее. А с задержками видно придется экспериментировать.
     
  6. betatest

    betatest

    Регистр.:
    3 дек 2007
    Сообщения:
    517
    Симпатии:
    127
    для гугла есть ощутимая разница - как парсить
    для того, что бы не сталкиваться с капчами тут нужно использовать всё:
    смена юзерагентов
    рандомная задержка при парсинге
    периодический "отдых" между запросами
    региональность обращения, при использовании прокси
    ессно передача куков

    если всё грамотно отстроить, то будет парситься сутками, без всяких капч (ессно, это если делать упор на "качество" парсинга)
    думаю понятно, почему при данных условиях многопоточность предпочтительней

    для яндекса аналогично, просто таймауты побольше
     
    tulvit нравится это.
  7. solarscape

    solarscape Постоялец

    Регистр.:
    19 июл 2009
    Сообщения:
    109
    Симпатии:
    8
    Разница будет в скорости работы. С CURL парсится намного быстрее.
     
  8. WoolF

    WoolF Создатель

    Регистр.:
    25 окт 2006
    Сообщения:
    21
    Симпатии:
    2
    Противоречие какое-то..или мне показалось

    а по теме, имхо, лучше через сокеты либо curl, эмулируя и браузер, и реферер. Не знаю на счет кукисов, ибо тот же яндекс и их ставит при поиске, например yandexuid, но думаю было бы не лишним и это учесть.
     
  9. InoffLine

    InoffLine

    Регистр.:
    18 апр 2007
    Сообщения:
    573
    Симпатии:
    155
    А как насчет использования Yandex.Xml - для яндекса дает 1000 запросов в день без капч.
     
  10. Дед Макар

    Дед Макар Создатель

    Регистр.:
    2 апр 2010
    Сообщения:
    39
    Симпатии:
    0
    На все вопросы ответить не смогу, но насчет гугля важен еще сам запрос, чем больше юзаешь операторов, тем быстрее бан, с inurl каптча практически моментально, поэтому по мере возможности парсят с текстом страниц (общими признаками).
    Без проксей ты будешь очень долго и нудно парсить, парсинг с задержками без проксей делается только если нужно спарсить точную выдачу малого количества страниц, скажем малопопулярный двиг которого всего 2к установок.
    У каптчи есть также такое вредное свойство, что с того момента как ты ее получил, получать ее будешь гораздо чаще, т.е. раз тебя спалили, будут меньше доверять, а в конце гугля вообще скажет что больше тебе ничего показывать не будет.
     
Статус темы:
Закрыта.