POST запросы в цикле с изменением параметра
Модератор: Модераторы
POST запросы в цикле с изменением параметра
Добрый день. Нужно выполнить огромное количество POST запросов с изменением лишь одного параметра (около 7млн пост запросов), в потоках они делаются плохо, сервер не успевает отвечать на каждый (максимум 2.5 запроса в секунду обрабатывает корректно). Есть ли готовый инструментарий для таких вещей который бы парсил разными IP адресами или придется самому городить парсинг прокси серверов? Нужно это для выгрузки данных с сервера, доступа к базе нет и возможности передать сразу несколько значений параметра в одном запросе тоже нету.
Moneo
Непонятен смысл вопроса.
Параметр в POST-запросе без каких-либо проблем меняется в цикле. Но ускорить выполнение запросов это Вам никоим образом не поможет, т.к. это зависит исключительно от сервера.
Вы тут что имели в виду? Как и в предыдущем случае это зависит не от инструмента а от того, есть ли у Вас эти разные IP-адреса или нет.
Ничего непонятно, постарайтесь объяснить более понятно что Вам нужно...
Непонятен смысл вопроса.
Параметр в POST-запросе без каких-либо проблем меняется в цикле. Но ускорить выполнение запросов это Вам никоим образом не поможет, т.к. это зависит исключительно от сервера.
Moneo писал(а):Есть ли готовый инструментарий для таких вещей который бы парсил разными IP адресами
Вы тут что имели в виду? Как и в предыдущем случае это зависит не от инструмента а от того, есть ли у Вас эти разные IP-адреса или нет.
Ничего непонятно, постарайтесь объяснить более понятно что Вам нужно...
Есть ли инструментарий который отправляет post запросы с сменой IP адресов, чтобы самому не городить сборщик прокси. Мне всего лишь надо сделать это единаразово.
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Есть. Называется TOR. Может работать как локальный прокси. гуглите на "использование tor как прокси".
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
А зачем столько запросов? Очень напоминает атаку на отказ от обслуживания. Не проще ли скачать всю базу целиком?
Лекс Айрин писал(а):Не проще ли скачать всю базу целиком?
интересно каким образом, если бы что-то было проще, то я бы так и сделал. Нужная информация выдается сервером по нажатию на строчку в основной таблице, соответственно нужно отослать запрос по каждой строчке основной таблицы - другого варианта я тут не вижу.
Снег Север писал(а):Есть. Называется TOR
Тор не подходит так как у меня софт под Windows, да и пишут что долгое ожидание ответа от тора.
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Moneo писал(а):Тор не подходит так как у меня софт под Windows, да и пишут что долгое ожидание ответа от тора.
Прекрасно работает по виндой. А насчет времени ожидания - всё равно ничего лучшего вы не найдете. Кроме собственного прокси-сервера в датацентре.
Лекс Айрин писал(а):Не проще ли скачать всю базу целиком?
Он писал, что нет доступа к базе. У нас, к примеру, база тоже закрыта, можно только через приложение-сервер к ней обращаться. Там у них либо катастрофическая ошибка при проектировании приложения, либо действительно взлом, хотят спровоцировать "отказ-в-обслуживании", чтобы загнать сервер в ступор и получить возможность веселиться без прав рута.
Я писал что это нужно для парсинга, ни о каком взломе речи не идет.
Moneo
Вы так и не ответили, что конкретно надо делать...
Вы не можете составить POST-запрос меняя просто параметры? Или не можете быстро делать запросы? Ваш вопрос непонятен, я же просил объяснить более подробно. Понятно, что Вы знаете, что Вам нужно, но Вам это необходимо объяснить другим людям, только тогда можно расчитывать на более-менее внятный ответ.
Вы так и не ответили, что конкретно надо делать...
Вы не можете составить POST-запрос меняя просто параметры? Или не можете быстро делать запросы? Ваш вопрос непонятен, я же просил объяснить более подробно. Понятно, что Вы знаете, что Вам нужно, но Вам это необходимо объяснить другим людям, только тогда можно расчитывать на более-менее внятный ответ.
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Vadim, ну в первом же посте всё внятно - сервер обрабатывает 2.5 запроса в секунду с одного IP. Топикстартер хочет попробовать запускать больше запросов с разных IP, предполагая, что они будут обрабатываться параллельно сервером. Чтобы быстрее выкачать данные. Но я не вижу никакой реальной возможности для этого, кроме массы виртуальных прокси, типа тора.
Я хочу сделаю нормальную скорость парсинга, менять значения параметров я умею
. Сейчас эта скорость 2.5 запроса в секунду, при подсчетах все запросы что надо отправятся через 722 часа. Ограничения я так полагаю идут с стороны сервера на IP адрес запросов в секудну или тайм аут какой-то. Решение отправка через смену IP адресов. Вопрос есть ли готовый инструмент для отправки пост запросов с сменой параметра через смену IP адресов или бесплатный инструмент для сбора IP адресов или же надо писать самому сбор прокси серверов.
Снег Север
Если сервер в состоянии обрабатывать только 2,5 запроса, то можно насадить хоть 100500 прокси, общее время останется таким же, т.к. оно зависит от сервера.
Парсинга чего? У Вас сервер, хоть Вы что делаете, не сможет обрабатывать 1 запрос быстрее, чем это он делает сейчас. Если Вы предполагаете, что это у него искусственное ограничение для запросов с одного IP, то нужно посмотреть документацию сервера по этому вопросу. При чём тут клиентские компоненты?
И ещё раз повторю - IP-адреса клиента зависят от их наличия у клиента, а вовсе не от каких-то там компонентов. Для примера - Вы себе поставили 14 браузеров и что, у Вас от этого появилось 14 IP-адресов?
Информация для размышления:
У нас на работе стоит сервер, который в состоянии ответить только на запросы, которые ему приходят не чаще чем 1 раз в секунду. Если я сделаю какое-то промежуточное приложение, то время обработки от этого не изменится - запросы просто будут ставится в очередь и обрабатываться сервером только тогда, когда он освобождается для их приёмов.
Если сервер в состоянии обрабатывать только 2,5 запроса, то можно насадить хоть 100500 прокси, общее время останется таким же, т.к. оно зависит от сервера.
Moneo писал(а):Я хочу сделаю нормальную скорость парсинга,
Парсинга чего? У Вас сервер, хоть Вы что делаете, не сможет обрабатывать 1 запрос быстрее, чем это он делает сейчас. Если Вы предполагаете, что это у него искусственное ограничение для запросов с одного IP, то нужно посмотреть документацию сервера по этому вопросу. При чём тут клиентские компоненты?
И ещё раз повторю - IP-адреса клиента зависят от их наличия у клиента, а вовсе не от каких-то там компонентов. Для примера - Вы себе поставили 14 браузеров и что, у Вас от этого появилось 14 IP-адресов?
Информация для размышления:
У нас на работе стоит сервер, который в состоянии ответить только на запросы, которые ему приходят не чаще чем 1 раз в секунду. Если я сделаю какое-то промежуточное приложение, то время обработки от этого не изменится - запросы просто будут ставится в очередь и обрабатываться сервером только тогда, когда он освобождается для их приёмов.
Vadim писал(а):Для примера - Вы себе поставили 14 ьраузеров и что, у Вас от этого появилось 14 IP-адресов?
Похоже вы далеки от понимания работы серверов и методик защиты от парсинга. Очевидно сервер не мой, документации никакой нет, доступа к базе данных очевидно тоже нет. По защите от парсинга одна из практик по настройке серверов это ограничение количества запросов с одного IP адреса в период времени, тем более что для парсинга я не использую авторизацию на сервере, только токен (по нему тоже могут быть ограничения, но этого я пока не узнаю пока не попробую через прокси сервера парсить). Браузеры не помогут, так как нужно брать прокси сервера для каждого из них - понятное дело если отправлять запросы с одного и того же IP и разных браузеров, но вырастит только количество ошибок с стороны сервера.
Moneo писал(а):Похоже вы далеки от понимания работы серверов и методик защиты от парсинга.
Это исключительно из-за того, что Вы не можете объяснить этот момент.
Про браузер я Вам привёл только в качестве примера. Вы этого не поняли? С чего вдруг Вы это обсуждать кинулись, вместо того, чтобы объяснить Ваши конкретные трудности. Перепираясь таким образом, Вы ответа никогда не получите. Попробуйте всё-таки взять себя в руки и объяснить Вашу трудность.
Пока что я понял, что Вы ничего не знаете о свойствах сервера. Это плохо. Потому что не объяснив это нам здесь, ответа Вы не получите. Сосредоточтесь и постарайтесь объяснить...
