- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вопрос: граббинг через мультикурл на дельфи будет по скорости таким-же, как на apache+php?
P.S.: что-то неблокируемые сокеты читают только часть страницы...
Про php забудьте.
Такие задачи
Пока хочется со своего средненького десктопа обойти зону .ru (только морды) за пару часов. Реально ли это в принципе?
на php не пишутся.
Да, когда надо сграбить десяток более или менее стандартных сайтов, неспешно, под которые сайты парсер и пишется, в однопоточке и с перезапуском скрипта по мере утекания памяти или зависания коннекта, когда особый контроль не нужен над парсингом - можно.
Если задача быстро, многопоточно, контроллируемо и безглючно скачать что угодно - это не php.
С другой стороны, если у Вас список сайтов вообще готовый и нужны только морды, то зачем вообще что-то писать? http://aria2.sourceforge.net/ допустим запустили (или аналоги) и пошли спать.
edogs, нужно свое решение.
Ну и полученные страницы хранить не нужно. Только проверить наличие подстроки и записать флаг в бд.
edogs, нужно свое решение.
А чем оно не свое будет? Т.е. написать curl_get("http://ya.ru") это значит свое решение, а aria2c file.txt -url (не помним точно синтаксис) это чужое? Если Вы не пишите в машинных кодах - по любому Вы используете чужие решения.
Ну и полученные страницы хранить не нужно. Только проверить наличие подстроки и записать флаг в бд.
Той же арией можно скинуть файлы в папочку, а по ним уже пхп скриптом спокойно пройтись и занести в базу.
А так - сколько нынче сайтов в ru зоне?
Мультикурл на php будет точно плохой идеей, из-за до сих пор его глючности.
Но если грамотно подойти, можно спокойно уложить скрипт мегабайт в 8 даже в худшем случае, что при 4гб даст возможность запустить около 256 потоков (современный комп потянет, если в анреал не гамать параллельно), главное не забыть мускулу разрешить столько коннектов. Само время скрипта будет минимальным, каждый запуск настроить так, что бы он штук по 48 сайтов отрабатывал и килялся, после чего запускать следующий. Очень советуем днс где-нибудь по близости раздобыть, в идеале у себя поднять и базу русских сайтов в него загрузить, это сильно поможет по отзывчивости. Время выполнения самого скрипта будет минимальным на фоне ожидания и скачивания хттп, тут сложно сказать - нормальный сайт в 0.1с всегда уложится, но всякие "битриксы" могут и по 18 секунд отдаваться.
Считайте исходя из этого (256 потоков * время скачки сайта * нужные Вам 2 часа) - подойдет ли Вам пхп. Нам чета кажется что не успеете за 2 часа, хотя возможно мы слишком хорошего мнения о рузоне:)
За дельфи откровенно говоря не знаем.
p.s.: И да, нас немного настораживает "apache+php" которые Вы упоминали выше. Вам надо php как cgi, а не как модуль апача для этих задач. На самом деле апач-то Вам в общем-то и не нужен, достаточно просто пхп проставить с минимумом либ, не забыв курл конечно.
P.S.: что-то неблокируемые сокеты читают только часть страницы...
Читают всю страницу, но код чуть посложнее надо писать. Проверять дочиталась ли она, а не полагаться на то, что она дочиталась.
Пишите на С.
На C-подобных языках можете заработать головную боль при работе с памятью, со всеми вытекающими.
Я бы взял node.js + async + request. Программа получится строк на 50. Если окажется, что упираетесь в CPU, а не ширину канала, то придётся несколько экземпляров запускать.
P.S. Тут уже предупреждали, что DNS положите, поэтому DNS провайдера лучше не использовать.
+за Python.
Я бы писал на PHP под CLI, но это ресурсозатратно (неправильно, т.е.), просто Python не учил :)
Можно на bourne shell, здесю нюансы свои есть:
1. куча awk друг за другом создадут изрядное торможение.
2. экранирование экранирований забодает.
Тем не менее, у меня на нём есть граббер альбомов с одного известного mp3 сайта.
Вопрос: граббинг через мультикурл на дельфи будет по скорости таким-же, как на apache+php?
вероятно будет чуть повыше, все же Дельфи компилит в машинные коды, и анализ скачанного будет немного быстрее.
P.S.: что-то неблокируемые сокеты читают только часть страницы...
ищите ошибки у вас в коде, разбирайтесь с тайм-аутами и тд. Качает все нормально.☝
В Дельфи можно по другому сделать, вы можете использовать внутри Дельфи на форме объект Браузер (MS IE) и в нем скачивать. Можно много таких объектов одновремено, скажем 100, породить-создать програмно на Паскале или руками положить :) копи-пастэ-пастэ-....-пастэ ну займет 2-3 минуты (в них (объектах MS IE) можно отключить загрузку картинок и выполнение флэш и js, рендеринг на экран отключить, *.visible=false).
Если уж сам MS IE у вас тоже будет не докачивать, то вероятно сами сайты кривые (а почему нет?) а может и вашего провайдера инет подгючивает.
Это будет медленней, но зато сайты будут скачиваться именно так как их видит настоящий юзер посещающий сайт вживую (с куками!). Иногда ведь для защиты от ботов вебмастера могут клоачить чуток, разный контент давать курлу и реальному браузеру.
разный контент давать курлу и реальному браузеру.
курлу можно юзер агент яндекса указать, ip по whois почти никт оне проверяет.
а что там с куками у курла? А ведь есть еще куки а ля локал сторадж в HTML5 и их уж точно курлу не осилить! А прогаются они на js в 5 строк вебмастером.
пишите на С. Яндекс на С писали и пишут