UmaxForum
Ответ
 
Опции темы Опции просмотра
Старый 19.12.2006, 17:41   #1
w666w
Пользователь
 
Регистрация: 17.05.2006
Адрес: w666w
Сообщений: 86
w666w пока неопределено
Отправить сообщение для w666w с помощью ICQ
По умолчанию

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

Перед тем, как начинать сам процесс, естественно нужно подобрать качественные и как можно более объемные по количеству резов признаки. Это первая составляющая «скорости» парсера – ведь мы гонимся не за страницами/сек, а за новыми_линками/сек. Будь у тебя хоть терабитный канал и 10 серверов, но неправильно составлены запросы – хоть 5 лет собирай выдачу, резов них*я не будет. И не обвиняйте авторов своих программ – сначала убедитесь что вы выполнили свою часть верно. Вот один из диалогов с клиентом (ник указывать не буду, обезличенно, прошу не обижаться):

User: что то он подвисает когда слов много
User: а счас буду микшировать 614к словарь с 30 запросами, он не зависнет совсем?
Shadow: х*ясе ... 18.420.000 резов... Чето подвисает ) Да уж..
Shadow: ты что реально хочешь вытравить *20 миллионов запросов из поисковиков?
User: ну а как еще то:-)
Shadow: это знаешь сколько трафа?
Shadow: я никогда не думал что есть энтузиасты по 20 миллионов запросов делать. Честно в шоке.
Shadow: если 1 запрос через прокси будет занимать 10 секунд (что очень неплохой показатель с учетом множества таймаутов, запросов на мертвые и т.п.), то при парсинге в 20 потоков обработка 20 миллионов запросов займет 115 дней.
User: ну я тебе говорю нормальные парсеры так и работают, хрефер добавляет эти запросы на лету и в итоге он по такому же количеству запросов и выдирает ресы
Shadow: 20 миллионов – без остановки - НЕ РЕАЛЬНО. Это уже high tech какой то а не виндовая программа. Скорее винда ляжет чем парсинг закончится.
Shadow: приколи, а если 20 миллионов запросов в гуглю сделать, то понадобится 1.66 терабайта трафа.
User: посмотрел, хрефер съел 300гб..
Shadow: 300Гб ? Что то мне подсказывает что ты работаешь с msn ))
Shadow: сколько у тебя база для спама?
User: 300к форумов, 200к гестов
Shadow: Получается ты вытащил с гугля 3.800.000 страниц. Если считать что на странице 100 резов и она весил около 80к то это и есть 300Гб. Ты знаешь сколько в гугле всего адресов в индексе? 25 миллиардов. (http://en.wikipedia.org/wiki/Google_search). При удачном сочетании запросов ты мог бы уже поиметь 3.800.000 * 100 = около 4 миллиардов адресов. ЭТО ШЕСТАЯ ЧАСТЬ ВСЕЙ БАЗЫ ГУГЛА ))) Приколи как можно проспамиться!
Shadow: Я только щаз понял что просчитался. По каждому запросу то до 10 серпов может быть. Это еще в 5-6 раз больше все цифры! Меняй признаки для вытравки ПОЛЮБОМУ!

В общем что посоветовать по признакам (я так называю запросы для вытравки).

1. Подбирать так, чтобы среди резов минимум 10-15% соответствовали искомому материалу. Не надо парсить на количество (авось попадется) – это дохлый номер. Что то конечно найдете, но времени и ресурсов на вытравку уничтожите море. Не говоря уже о чистке базы. Да и мало какие парсеры проживут в рабочем режиме более недели – это очень неплохой показатель с учетом той работы которую они выполняют. Про месяцы и миллионы запросов забудьте – берите головой а не количеством.
2. Подбирать так, чтобы выдача разнилась как можно сильнее.
3. Не замешивать запросы с доменными зонами, резов в которых всего менее миллиона (кол-во результатов по запросу site:зона).
4. Не использовать слова-вариаторы длинной менее 3-х символов, они все равно в стоп листе. Знаете стоп лист – удалите все слова вариаторы, которые там содержаться.
5. Не замешивать запросы со словами – вариаторами, если выдача по этому запросу не превышает 5к. Большинство из возможного вытравится при замесе с зонами.
6. Если количество резов в выдаче больше 20к – использовать редкие слова вариаторы. Например experience или children вместо game или online.
7. ПО ВОЗМОЖНОСТИ не использовать в запросах модификаторов типа inurl: link: и т.п. Гугл банит моментально если парсить без прокси. И не в том скорее всего дело, что они не хотят чтобы вы собирали такие результаты, а в том, что при таких запросах нагрузка не поисковик в сотни раз больше, чем без них. Кроме того такие запросы скорее всего не кешируются – что при многократных запросах сильно увеличивает нагрузку. Однако есть поисковики, не банящие вообще ни за что – к ним это правило не относится.
8. Составлять признаки для каждого поисковика в отдельности. Геморно, сам не всегда делаю, но результат намного выше. Существует много примеров когда в выдаче лива 10к резов, а гугль показывает всего 10-15 и наоборот.
9. Парсить все поисковки по раздельности и соответственно со своими признаками, иначе при автоматическом замешивании (подмешивание парсером налету) потеряете много времени на запросы в пустые серпы. Кроме того поисковики, которые не банят не надо парсить с прокси – скорость в десятки раз повышается.

Что прежде всего, что должен уметь парсер поисковиков?

1. Получить необходимую страницу не вызвав у поисковки подозрений, что это бот (транспортный уровень). (за скорость на этом этапе отвечаете только вы)
2. Обработать полученный контент, не упустив ни одной искомой ссылки. (за скоростьи качество отвечаете парсер)
3. Предоставить инструменты для обработки полученной коллекции ссылок. (парсер)
4. Какие то эксклюзивные навороты, облегчающие жизнь. (парсер)

Все. Кажется просто и элементарно реализовать, но на самом деле каждый этап состоит из множества «подзадач», качеством реализации которых и отличаются все существующие парсеры.

Мне кажется, программист даже с самыми кривыми руками НЕ сумеет написать скрипт, который будет парсить *менее 1000 линков в секунду, если исходный материал берется из локального файла. То есть 99.99% всей скорости – это скорость добывания самого контента - *страницы/сек. Рассматриваем вариант работы через прокси, потому как парсинг директом идет очень быстро но не всеми поисковками допускается. Поймите одно – будь это скрипт на пхп, программа на Делфи или супер быстрый код на асме – они все будут работать с одним и тем же прокси с одной и той же скоростью, миллисекунда в миллисекунду, ускорить прокси - невозможно. Однако можно сжать передаваемый трафик и выигрыш будет в десятки раз. Насколько мне известно, это (gzip сжатие) пока может делать только мой парсер (админы, не сочтите за рекламу).

Те кто говорит, «у меня 500 рабочих прокси» - чаще всего даже не подозревают, что реально рабочих на данный момент уже не больше 70% (хотя они и проверялись 10 мин назад), что ~50% из оставшихся уже забанены, и что при его расчетах оставшиеся 125 забанятся уже через 5-10 минут после начала парсинга. Не думайте ,что вы один этими прокси пользуетесь – это самая распространенная глупость. Я имею огромный опыт покупки прокси серверов, и знаю как они перепродаются. Обещания хозяина ботнета что эти прокси – эксклюзив чаще всего вранье. Покупайте прокси только у проверенных надежных продавцов, по рекомендации (ко мне не стучать за рекомендациями). И самое главное – НЕ ЗАГОНЯЙТЕ ПРОКСИ В БАН САМИ. Избежать забанивания прокси невозможно, но минимизировать – реально. Правильно рассчитывайте количество рабочих потоков.

Настраивайте парсер из расчета 5 ХОРОШИХ ПРОКСИ НА 1 РАБОЧИЙ ПОТОК. ЧЕМ МЕНЬШЕ У ВАС РАБОЧИХ ПРОКСИ, ТЕМ БЫСТРЕЕ ОНИ БУДУТ БАНИТЬСЯ. А это – лавинообразный процесс, который очень быстро приведет к тому что у вас не будет ни одного не забаненного прокси. Если ваш парсер умеет ждать новых прокси и не лупить впустую по страницам содержащим «поздравляем, вы забанены, пшли нах отсюда» - это хорошо. По крайней мере когда появятся новые прокси – процесс возобновится. Если не умеет – соберет все что успеет и до конца процесса будет пожирать траф и время посещая «страницы поздравления». В результате – линков будет – кот наплакал. Вы не довольны своим парсером, но на самом деле он то здесь причем?


И помните, что даже имея скорость парсинга в 100 серпов/сек реально вы можете иметь 0 линков/сек – ВСЕ ЗАВИСИТ ОТ ВАШИХ ЗАПРОСОВ. Если ваш парсер не глючит, не загружает процессор и не жрет память, если он не пропускает линки в серпе и всегда добирается до сдержимого – это хороший парсер. Лучше, чтобы парсер писал лог файл по каждому запросу в поисковик – сколько найдено линков всего и сколько из них добавлено в список (новых). Тогда вы в любой момент сможете сверить эти данные с реальными проверив вручную выдачу по этому запросу.

Возможно кто то использует другой подход, я поделился своими мыслями, надеюсь кому то поможет. Я считаю что лучше потратить 1гиг трафа и натравить 500к резов чем потратить на тоже самое 300 гигов. И далеко не все имеют возможность так небрежно относится к трафу.

И в завершение несколько фактов из практики, не претендую на достоверность – это мои личные выводы.

1. Не доверяйте цифрам, которые выдают вам поисковики. Они очень часто не соответствуют действительности.
2. Если вы увидели что в выдаче 5к результатов, не рассчитывайте вытравить их все. 50% - это хороший результат. Вытравить все – невозможно.
3. Не думайте что если поисковик сказал что резов 900, то вы всегда при проходе всего серпа увидите 900. В гугле, например, увидеть 850 при количестве резов в 1 миллион – нормальная практика.
4. Результаты 2-х одновременных парсингов одного и того же поисковика по одним и тем же запросам разнятся. Это не причина для претензий авторам программ.

Поискови как живой организм и в них постоянно что то происходит и меняется. Так и должно быть!

PS

Описание моего парсера в соседней ветке в СПАМе. Пусть это будет небольшая ненавязчивая реклама. Удачи, дорвейщики!
w666w вне форума   Ответить с цитированием
Старый 19.12.2006, 21:25   #2
Shnaider
Members
 
Регистрация: 20.04.2005
Адрес: Kiev
Сообщений: 20
Shnaider скоро придёт к известности
Отправить сообщение для Shnaider с помощью ICQ
По умолчанию

Крутой ПР... молодцо
__________________
Такие дела...
Shnaider вне форума   Ответить с цитированием
Старый 20.12.2006, 00:07   #3
arma
Модератор
 
Аватар для arma
 
Регистрация: 11.09.2005
Сообщений: 2,681
arma - это имя известно всемarma - это имя известно всемarma - это имя известно всемarma - это имя известно всемarma - это имя известно всемarma - это имя известно всем
По умолчанию

Вот так бы только и спамились продавцы, а)
И было бы всем счастье

Топикстартеру- зачет)



__________________
» Зарабатывай вместе с UMAX
Есть две бесконечных вещи: Вселенная и человеческая глупость. Причем насчет первой я не уверен... (А. Эйнштейн)
arma вне форума   Ответить с цитированием
Старый 20.12.2006, 00:08   #4
bataka
Местный
 
Аватар для bataka
 
Регистрация: 27.05.2005
Сообщений: 778
bataka пока неопределено
Отправить сообщение для bataka с помощью ICQ
По умолчанию

этож надо стока писать
не осилил
парсер это как калькулятор, если ты знаеш что на что ты делиш, то тебе похуй какой формы там кнопки
а если ты делиш 2 велосипидиста на три велосипеда, хоть на компьютере считай, результат будет неверным
bataka вне форума   Ответить с цитированием
Старый 20.12.2006, 05:23   #5
smeshnoj
Members
 
Аватар для smeshnoj
 
Регистрация: 27.12.2005
Адрес: smeshnoj.biz
Сообщений: 3,915
smeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспоримаsmeshnoj репутация неоспорима
По умолчанию

я ебал это запускать

smeshnoj вне форума   Ответить с цитированием
Старый 20.12.2006, 05:24   #6
pski
Местный
 
Аватар для pski
 
Регистрация: 26.04.2006
Сообщений: 638
pski пока неопределено
Отправить сообщение для pski с помощью ICQ
По умолчанию

эксковатор
__________________
Гудит как улей,
Завод напротив,
А мне то пофик,
Я сделал доров
pski вне форума   Ответить с цитированием
Старый 20.12.2006, 05:34   #7
Fisherman
Members
 
Аватар для Fisherman
 
Регистрация: 24.10.2006
Адрес: GOOGLE.COM
Сообщений: 3,510
Fisherman - просто великолепная личностьFisherman - просто великолепная личностьFisherman - просто великолепная личностьFisherman - просто великолепная личностьFisherman - просто великолепная личностьFisherman - просто великолепная личностьFisherman - просто великолепная личность
По умолчанию

запускаешь - он из твоего кошелька ковшом баксы выгребает ) шутко,
хотя хз, пусть автор отпишеться
__________________
Я ПРОТИВ НЕЛЕГАЛА!
Fisherman вне форума   Ответить с цитированием
Старый 20.12.2006, 06:03   #8
sotiris
Members
 
Регистрация: 11.12.2005
Сообщений: 33
sotiris пока неопределено
По умолчанию

неплохо написано. свои парсеры у меня примерно по такому же принципу работают. но под виндой парсеры запускать, помоему извращение.
sotiris вне форума   Ответить с цитированием
Старый 20.12.2006, 06:06   #9
Artemka
BOSS VIP
 
Аватар для Artemka
 
Регистрация: 26.01.2006
Сообщений: 266
Artemka пока неопределено
По умолчанию

Цитата:
Сообщение от [b
Цитата[/b] ]неплохо написано. свои парсеры у меня примерно по такому же принципу работают. но под виндой парсеры запускать, помоему извращение.
Почему? Запустил ешго на дедике в 300 потоков...все очень красиво было. По разным темам награбил...около 50к или побольше...съело 300-350 метров трафа...нормально....мне понравилось.

======
нифига тупанул.....это я про овертюру написал)) Это наверно изза того что зачеты попрут с завтрашнего дня.
__________________
Все проблемы из-за некачественного спама....
========================================
Некитку в уроды
Artemka на форуме   Ответить с цитированием
Старый 20.12.2006, 09:05   #10
w666w
Пользователь
 
Регистрация: 17.05.2006
Адрес: w666w
Сообщений: 86
w666w пока неопределено
Отправить сообщение для w666w с помощью ICQ
По умолчанию

Цитата:
Сообщение от [b
Цитата[/b] (smeshnoj @ Дек 20 2006,00:23)]я ебал это запускать

При каждом запуске парсер соединяется с одним из 2-х серверов для активации. Если логин и пароль не указан, сервер отписывает что это Demo Version, передает номер последней версии, адрес сайта. Больше ничего.

Если есть логи и пасс, и они зарегистрированы в системе, подгружаются куски форм, программного кода и конфигурации самих парсеров - тех, которые доступны этому пользоателю. На самом деле это кусок сжатых криптованых данных на 3-4 кб и никакой нагрузки не несет. После авторизации они встраиваются в главную аппликуху.

Достаточно запустить любой сниффер и посмотреть ЧТО передается на сервер (лоигн и md5 пароль). Можете ждать хоть вечность если хотите выловить несанкционированное обращение к какому-либо из несанкционированных хостов.

Я сделал неплохой софт и не хочу терять репутацию - . Пиздить ваши кошельки - дело уродов - будут обоснованные факты - заносите меня туда, не вопрос. Те кто брал тесты и кто купил программу - подтвердят что продукт достойный и качественный. Может я немного и помог взломщикам, но особого смысла ломать не вижу - то что подгружается с сервера - часто обновляется.

В общем не сцыте товарищи.

PS
А что у тебя за мыльный антивирь такой? Нод и Каспер вроде спокойно относятся к XKoVaToR. Это не Outpost случайно? Тогда я могу понять его волнение - он пишит всегда по всем поводам. Стукни лучше за тестом.
w666w вне форума   Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT, время: 01:47.


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd. Перевод: zCarot