На чем писать паука?

1 234 5
edogs software
На сайте с 15.12.2005
Offline
775
#21
pastuhoff:
Вопрос: граббинг через мультикурл на дельфи будет по скорости таким-же, как на apache+php?
P.S.: что-то неблокируемые сокеты читают только часть страницы...

Про php забудьте.

Такие задачи

pastuhoff:
Пока хочется со своего средненького десктопа обойти зону .ru (только морды) за пару часов. Реально ли это в принципе?

на php не пишутся.

Да, когда надо сграбить десяток более или менее стандартных сайтов, неспешно, под которые сайты парсер и пишется, в однопоточке и с перезапуском скрипта по мере утекания памяти или зависания коннекта, когда особый контроль не нужен над парсингом - можно.

Если задача быстро, многопоточно, контроллируемо и безглючно скачать что угодно - это не php.

С другой стороны, если у Вас список сайтов вообще готовый и нужны только морды, то зачем вообще что-то писать? http://aria2.sourceforge.net/ допустим запустили (или аналоги) и пошли спать.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
pastuhoff
На сайте с 29.10.2005
Offline
229
#22

edogs, нужно свое решение.

Ну и полученные страницы хранить не нужно. Только проверить наличие подстроки и записать флаг в бд.

Коллекционер доменных имен.
edogs software
На сайте с 15.12.2005
Offline
775
#23
pastuhoff:
edogs, нужно свое решение.

А чем оно не свое будет? Т.е. написать curl_get("http://ya.ru") это значит свое решение, а aria2c file.txt -url (не помним точно синтаксис) это чужое? Если Вы не пишите в машинных кодах - по любому Вы используете чужие решения.

pastuhoff:

Ну и полученные страницы хранить не нужно. Только проверить наличие подстроки и записать флаг в бд.

Той же арией можно скинуть файлы в папочку, а по ним уже пхп скриптом спокойно пройтись и занести в базу.

А так - сколько нынче сайтов в ru зоне?

Мультикурл на php будет точно плохой идеей, из-за до сих пор его глючности.

Но если грамотно подойти, можно спокойно уложить скрипт мегабайт в 8 даже в худшем случае, что при 4гб даст возможность запустить около 256 потоков (современный комп потянет, если в анреал не гамать параллельно), главное не забыть мускулу разрешить столько коннектов. Само время скрипта будет минимальным, каждый запуск настроить так, что бы он штук по 48 сайтов отрабатывал и килялся, после чего запускать следующий. Очень советуем днс где-нибудь по близости раздобыть, в идеале у себя поднять и базу русских сайтов в него загрузить, это сильно поможет по отзывчивости. Время выполнения самого скрипта будет минимальным на фоне ожидания и скачивания хттп, тут сложно сказать - нормальный сайт в 0.1с всегда уложится, но всякие "битриксы" могут и по 18 секунд отдаваться.

Считайте исходя из этого (256 потоков * время скачки сайта * нужные Вам 2 часа) - подойдет ли Вам пхп. Нам чета кажется что не успеете за 2 часа, хотя возможно мы слишком хорошего мнения о рузоне:)

За дельфи откровенно говоря не знаем.

p.s.: И да, нас немного настораживает "apache+php" которые Вы упоминали выше. Вам надо php как cgi, а не как модуль апача для этих задач. На самом деле апач-то Вам в общем-то и не нужен, достаточно просто пхп проставить с минимумом либ, не забыв курл конечно.

pastuhoff:
P.S.: что-то неблокируемые сокеты читают только часть страницы...

Читают всю страницу, но код чуть посложнее надо писать. Проверять дочиталась ли она, а не полагаться на то, что она дочиталась.

V
На сайте с 12.07.2014
Offline
7
#24

Пишите на С.

A
На сайте с 05.02.2014
Offline
19
#25

На C-подобных языках можете заработать головную боль при работе с памятью, со всеми вытекающими.

Я бы взял node.js + async + request. Программа получится строк на 50. Если окажется, что упираетесь в CPU, а не ширину канала, то придётся несколько экземпляров запускать.

P.S. Тут уже предупреждали, что DNS положите, поэтому DNS провайдера лучше не использовать.

DV
На сайте с 01.05.2010
Offline
644
#26

+за Python.

Я бы писал на PHP под CLI, но это ресурсозатратно (неправильно, т.е.), просто Python не учил :)

Можно на bourne shell, здесю нюансы свои есть:

1. куча awk друг за другом создадут изрядное торможение.

2. экранирование экранирований забодает.

Тем не менее, у меня на нём есть граббер альбомов с одного известного mp3 сайта.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
vob2014
На сайте с 30.03.2014
Offline
91
#27
pastuhoff:
Вопрос: граббинг через мультикурл на дельфи будет по скорости таким-же, как на apache+php?

вероятно будет чуть повыше, все же Дельфи компилит в машинные коды, и анализ скачанного будет немного быстрее.

pastuhoff:

P.S.: что-то неблокируемые сокеты читают только часть страницы...

ищите ошибки у вас в коде, разбирайтесь с тайм-аутами и тд. Качает все нормально.☝

В Дельфи можно по другому сделать, вы можете использовать внутри Дельфи на форме объект Браузер (MS IE) и в нем скачивать. Можно много таких объектов одновремено, скажем 100, породить-создать програмно на Паскале или руками положить :) копи-пастэ-пастэ-....-пастэ ну займет 2-3 минуты (в них (объектах MS IE) можно отключить загрузку картинок и выполнение флэш и js, рендеринг на экран отключить, *.visible=false).

Если уж сам MS IE у вас тоже будет не докачивать, то вероятно сами сайты кривые (а почему нет?) а может и вашего провайдера инет подгючивает.

Это будет медленней, но зато сайты будут скачиваться именно так как их видит настоящий юзер посещающий сайт вживую (с куками!). Иногда ведь для защиты от ботов вебмастера могут клоачить чуток, разный контент давать курлу и реальному браузеру.

...
Mik Foxi
На сайте с 02.03.2011
Offline
1178
#28
vob2014:
разный контент давать курлу и реальному браузеру.

курлу можно юзер агент яндекса указать, ip по whois почти никт оне проверяет.

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
vob2014
На сайте с 30.03.2014
Offline
91
#29

а что там с куками у курла? А ведь есть еще куки а ля локал сторадж в HTML5 и их уж точно курлу не осилить! А прогаются они на js в 5 строк вебмастером.

ishipilov
На сайте с 25.12.2011
Offline
101
#30

пишите на С. Яндекс на С писали и пишут

1 234 5

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий