Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2013, 15:03   #1
Schmiss
 
Регистрация: 30.05.2011
Сообщений: 3
Злость Блокируют при парсинге.

Привет.
Пытаюсь парсить один сайт. После выкачки пары страниц происходит блокировка, как я думаю, по ip, т.к. потом и с браузера своего войти не могу.
Пишу на php с curl.
Предложения использовать sleep() не принимаются, ибо нужна не просто выкачка информации, но и частое её обновление.
Много изрыл интернета, но так ничего толкового не нашёл.
Пытался использовать прокси, но они периодически не работают, а нужна стабильная работа скрипта.
Пишите Ваши предложения, буду очень благодарен.
Schmiss вне форума Ответить с цитированием
Старый 31.01.2013, 15:11   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Желательно бы увидеть ваш код прежде чем что то писать..
Кольша вне форума Ответить с цитированием
Старый 31.01.2013, 15:19   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Может у сайта существует api. С помощью него Вам, возможно, будет удобнее получать данные.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 31.01.2013, 15:21   #4
Schmiss
 
Регистрация: 30.05.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
Желательно бы увидеть ваш код прежде чем что то писать..
Пожалуйста. Вот класс - http://rghost.ru/43440220.
Использую, как:
$getter = new Httpget(0);
$content = $getter->getContent(...);
Остальной код, думаю, будет лишним.
Schmiss вне форума Ответить с цитированием
Старый 31.01.2013, 15:21   #5
Schmiss
 
Регистрация: 30.05.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Может у сайта существует api. С помощью него Вам, возможно, будет удобнее получать данные.
Исключено. Не настолько я глуп
Schmiss вне форума Ответить с цитированием
Старый 01.02.2013, 08:49   #6
Mortimoro
Форумчанин
 
Регистрация: 03.12.2010
Сообщений: 334
По умолчанию

Для начала размести у себя php-файлик типа:
PHP код:
print_r($_SERVER); 
print_r(get_browser(nulltrue)); //если не работает, добро пожаловать в гугль 
постучись на него браузером, затем своим скриптом, найди 10 отличий.
Скорее всего, в твоем случае этого будет достаточно, но еще могут проверять аяксом и на частоту запросов - если пользователь создает более 4 запросов в секунду (или более 20 на протяжении 5 секунд) и аяксом не обрабатывается проверочный скрипт, то перед нами однозначно робот и его можно смело банить.
Еще сайт может пытаться куки тебе впарить, а ты их не принимаешь. И ответы сайта считывай в файл, может он сам тебе 10 раз подряд сказал что он от тебя хочет, а ты продолжаешь тупо долбиться.
Mortimoro вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Copy или Move при парсинге теста Pcrepair Общие вопросы Delphi 1 29.01.2013 15:12
Разные кодировки при парсинге RSS, как сделать одну? VitaliyTokarev PHP 3 11.06.2012 20:58
[android]Русский текст при парсинге HTML Sna1L Общие вопросы по Java, Java SE, Kotlin 4 13.02.2012 14:05
Проблема при парсинге grafgrial Общие вопросы Delphi 0 15.11.2011 23:12
TTcpServer и TUdpSocket блокируют порт hawk1 Работа с сетью в Delphi 5 07.12.2006 23:29