Ага, я как те гугеноты, которых Портос убивал только за то, что они поют псалмы по-французски...
Короче - туго у меня с английским. А в русском сегменте я не нашел... Только на php, но о нем я уже говорил...
Не хочет оно тебе в личку идти! Напишу тут.
Вот 2 функции:
// Функция используется при вычислении Google Checksum (см. ниже) function mix($a, $b, $c) { $a -= $b; $a -= $c; $a ^= (zeroFill($c, 13)); $b -= $c; $b -= $a; $b ^= ($a << 8); $c -= $a; $c -= $b; $c ^= (zeroFill($b, 13)); $a -= $b; $a -= $c; $a ^= (zeroFill($c, 12)); $b -= $c; $b -= $a; $b ^= ($a << 16); $c -= $a; $c -= $b; $c ^= (zeroFill($b, 5)); $a -= $b; $a -= $c; $a ^= (zeroFill($c, 3)); $b -= $c; $b -= $a; $b ^= ($a << 10); $c -= $a; $c -= $b; $c ^= (zeroFill($b, 15)); return array($a, $b, $c); } // Функция, вычисляющая Google Checksum (контрольную сумму Google) // // Входные данные: // $url - URL, для которого требуется определить Google Checksum // $length - длина строки $url (по умолчанию - null, вычисляется в функции) // $init - "волшебное" число // // Выходные данные: // $mix[2] - значение Google Checksum для заданного адреса $url // function GoogleCH($url, $length = null, $init = GOOGLE_MAGIC) { if (is_null($length)) { $length = sizeof($url); } $a = $b = 0x9E3779B9; $c = $init; $k = 0; $len = $length; while($len >= 12) { $a += ($url[$k + 0] + ($url[$k + 1] << 8) + ($url[$k + 2] << 16) + ($url[$k + 3] << 24)); $b += ($url[$k + 4] + ($url[$k + 5] << 8) + ($url[$k + 6] << 16) + ($url[$k + 7] << 24)); $c += ($url[$k + 8] + ($url[$k + 9] << 8) + ($url[$k + 10] << 16) + ($url[$k + 11] << 24)); $mix = mix($a, $b, $c); $a = $mix[0]; $b = $mix[1]; $c = $mix[2]; $k += 12; $len -= 12; } $c += $length; switch ($len) { case 11: $c += ($url[$k + 10] << 24); case 10: $c += ($url[$k + 9] << 16); case 9 : $c += ($url[$k + 8] << 8); // Первый байт $c зарезервирован для значения $length case 8 : $b += ($url[$k + 7] << 24); case 7 : $b += ($url[$k + 6] << 16); case 6 : $b += ($url[$k + 5] << 8); case 5 : $b += ($url[$k + 4]); case 4 : $a += ($url[$k + 3] << 24); case 3 : $a += ($url[$k + 2] << 16); case 2 : $a += ($url[$k + 1] << 8); case 1 : $a += ($url[$k + 0]); } $mix = mix($a, $b, $c); return $mix[2]; }
Кто б мне объяснил, что в них происходит...
А еще лучше - перевел бы на Delphi, тады я и сам пойму...
Т.е. нужно всего лишь добавить кавычки?! Не проблема. Спасибо за совет! Будет реализовано после праздников!
Парсить можно до 1000 и без проксей. Именно поэтому ограничено количество результатов выдачи (max 999)
Спасибо! Общение на этом и других форумах выявило возможные улучшения. После праздников реализую.
Яндекс, ИМХО, не так интересен, потому что в его языке запросов нет такой классной штуки как inurl. Но, возможно... Если практика покажет, что прога народу интересна - сделаю.
А рекламку показываю с народа через редирект - как раз на случай бана и с тем расчетом, чтоб можно было потом на серьезный сайт юзера отправить. Свой домен, конечно, надежнее, но пока я не пришел к выводу - окупится ли он...
Будет фри. С такой же рекламкой внизу. Доделаю, наверно, после праздников, а то я ща бухаю... :)
Можно будет чистить базу от дублей и сравнивать 2 базы по принципу "грохнуть дубли из 1ой/2ой или вынести дубли в новую". Возможно, допишу сортировку по PR и/или ТИЦ. Ссылку для скачки размещу на том же http://tospam2008.narod.ru
Или редирект сделаю...
Повторяюсь: это первый опыт и в "тонких материях" типа прокси я пока не шарю. Но, насколько я понимаю, использование прокси важно для спамилки, а для парсера это не очень принципиально...
Я не прав?
Приму с благодарностью любые советы и помощь (начиная с теории) в написании десктоптной спамилки!
А по поводу "до 1000" - так вручную это делать долго... Хотя, каждому - свое...
Попробуйте ввести ИМЕННО ЭТОТ запрос. На третьей сотне в браузере - ошибка. Прога работает корректно.
Я не претендую на звание специалиста, делаю проги для облегчения собственного труда и буду рад, если они помогут еще кому...
В качестве совета - попробуйте переформулировать запрос.
В качестве ответа - возможно, введу в программу help по языку запросов или сделаю "запросную" менюшку - в зависимости от отзывов.
В качестве общения - спасибо за критику!
Парсит до конца, разве нет?! Приведите пример запроса, плз! А для обработки баз прогу пишу - это будет отдельная утилита.
Да, деятели есть разные...
А про выхлоп не знаю - первый опыт ))
Самому любопытно - чего получится...