- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброе время суток,
Вот тут решил написать один скриптец, и столкнулся со следующим вопросом, если надо очень часто парсить некоторые страницы с разных серверов (около 7), примерно 20 страниц за раз (выполнение скрипта) и в час примерно по 50-80 таких заупсков скрипта.
Что лучше использовать для того чтобы достать информацию с удалённого сервера cURL, сокеты или банальное fopen() ? Лучше с точки зрения нагрузки на сервер на котором мои скрипты лежат. Потому что не хотелось бы чтобы в один прекрасный момент хостер попросил бы меня больше не пользоваться его услугами, т.к. скрипт даёт большую нагрузку на сервер.
И вообще хотелось бы узнать мнение тех у кого есть опыт в парсерах, насколько сильно даёт нагрузку модуль cURL, т.к. ему на данный момент я отдаю больше предпочтение. Не страшно ли серверу достать cURL'ом с разных сайтов около 50 страниц за раз?
Да и попробую предугадать ваш встречный вопрос типа - "А смотря какие страницы парсить", отвечу - Google (PR, SERP, BL), Yandex (CY, SERP, dir search, BL), Dmoz (dir search), Yahoo (SERP, dir search, BL), Rambler (SERP, BL), Mail.ru (SERP - хотя еще не знаю надо ли) пожалуй всё. Т.е. вот основные странички для парсинга.
Так что лучше использовать для этого, cURL, сокеты или fopen() ?
Спасибо.
Не вижу никакой особой разницы.
Курл и ФОпен - это те же надстройки над сокетами.
В курле из 5-го ПХП разве что можно организовать многопоточность :)
Как по мне, с Курлом намного удобнее.
Лучше конечно использовать высокоуровневую библиотеку (типа curl в Вашем случае или модули из pear.php.net), потому как позднее может понадобиться поддержка cookie, 30x-редиректов и т.п. Можно в очередной раз написать свой сокетный велосипед, но зачем?
По нагрузке проблем особых нет. Вот у меня качалка самописная прямо сейчас тянет файлы в 4-ре потока, общая загрузка сервера - 3%. При том, что там еще люди по сайтам бродят :)
Ну и, разумеется, пишите регулярные выражения аккуратнее и никто Вас ругать не будет :)
Со стороны нагрузки что в лоб что по лбу, выгода от грамотных регулярок всё перекроет
Если стоит вопрос совместимости на разных хостингах то можно предусмотреть все 3 варианта
if ( ini_get('allow_url_fopen') ) {
// --- тра-ля ля три рубля
} elseif ( extension_loaded('curl') ) {
// --- тра-ля ля три курля
} else {
// нифига не доступно
}
m&m, curl'а может не быть на хостинге.
m&m, curl'а может не быть на хостинге.
Может, поэтому я лично использую модули с pear.php.net, о чем честно и написал :)
, curl'а может не быть на хостинге.
На моём есть проверял лично, но для такого дела собираюсь взять маленький VDS, так что тут этот вопрос боком не встанет.
А так, всем спасибо за ответы :)
В данном случае лучше курл либо чистые сокеты.
file_get_cintents слишком мало оставляет места для шагов вправо влево и для прыжков в высоту...
iexpert, Эти шаги далеко не всегда нужны, имхо использовать нужно не то что "лучше" а то что нужнее в данном случае. Согласитесь из пушки по воробъям палить не стоит. (Если это конечно не воробъи мутанты весом в тонну) :)
Gleb, курл или сокеты по барабану. Если хотите скорости - нужен еще gzip. (почему вы думаете mozilla такая шустрая? из-за gzip'a :) )
http://ru.php.net/manual/ru/function.gzuncompress.php
Окей буду пробовать, пока скажу результаты меня не очень радуют
Скрипт определения PR, CY, Каталог Яндекса, Беки по Яндексу, Гуглу, Яху и присутствие в дмозе, обрабатывает от 3 до 7 секунд 1 домен. Может я не правильно время считаю: