1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Порядок взаимодействия A-Parser'а с проксями

Тема в разделе "Техническая поддержка", создана пользователем Nick, 3 окт 2014.

  1. Nick

    Nick A-Parser Pro License
    A-Parser Pro

    Регистрация:
    1 окт 2014
    Сообщения:
    14
    Симпатии:
    1
    Интересует как программа взаимодействует с прокси, чтобы иметь возможность настроить парсеры под конкретный вид прокси (паблик, приват, и т.д.)

    Для примера рассматриваю приватные прокси с фиксированным айпи (т.е. проверка на живость не особо нужна), положим я загрузил файлом 100 живых прокси.

    Вначале без чекера.
    1. Каков порядок работы с прокси? Как я представляю (в упрощенном виде): по числу потоков одна из свободных прокси "назначается" на 1 поток, с прокси делается запрос, если он неудачный (ответ от гугла с капчей или прокси тупо не работает за время Request timeout) , то прокси "банится" в A-Parser'е на время Proxy ban time (что в это время происходит с потоком? Берется свободная прокси в списке? А если больше в списке нет?), запрос уходит в очередь на повтор по числу Request retries, в случае неудачи по числу попыток становится Failed.

    2. Если прокси в списке оказалась дохлая (а чекер у нас выключен) то она так и будет занимать поток или забанится при первом неудачном запросе?
    3. Request delay - задержка между запросами. В данном случае запрос это 1 страница по 100 результатов или все 10х100 = 1000 результатов? (при настройке Links per page 100, Pages count 10, парсер Google)
    4. Если указано большее число потоков, чем прокси в списке, прокси берется по второму разу?

    Если чекер включен,
    1. И ему дается 15 потоков (Check threads), а в общем у меня стоит 100 потоков, значит ли это, что в работе будет находиться только 85 прокси (т.е. потоков будет по факту 85)?
    2. Чекер будет проверять все 100 прокси по мере освобождения потоков Check treads?
    3. Что будет в случае нахождения мертвой прокси, в частности с активными потоками где эта прокся используется (Threads count)?

    И 1 не по теме вопрос: можно ли как то измерить скорость в урлах в секунду или в минуту?

    Сорри за длинный пост, просто хочется разобраться. ;)


     
  2. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    1. берется рандомная прокся из списка живых(если прокси не чекаются подразумевается что все живые), если проксей хватает поток будет ждать пополнения списка(в задании отображается как Wait proxy threads)
    прокси банится только если сервис который парсится отдает однозначную формулировку что этот IP забанен

    2. она не может забаниться
    3. каждый http запрос
    4. количество потоков с количеством прокси никак не связаны(из п.1)
    5. 15+100 - значит 115 будет потоков
    6. все 100, по кругу, каждый Check interval
    7. ну при следующем запросе прокси любым потоком мертвую он уже не увидет

    скорость измеряется в количестве обработанных запросов в минуту
     
    Nick нравится это.
  3. Nick

    Nick A-Parser Pro License
    A-Parser Pro

    Регистрация:
    1 окт 2014
    Сообщения:
    14
    Симпатии:
    1
    По п. 2 уточнение - если она не может забаниться, и она дохлая, то будет браться и поток будет вхолостую молотить?
    И какую роль в таком случае играет Proxy Ban Time? Судя по http://a-parser.com/threads/919/ то на потоке будет получен ответ сервера вида "connection timed out" и она все таки уйдет в бан?
     
  4. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    для каждого парсера логика своя, для большинства парсеров она следующая, если сервис говорит что IP забанен то прокси баниться на время Proxy ban time, в другом случае она не будет забанена

    т.е. если прокси дохлая то парсер просто возьмет следующую

    конкретно для Net::HTTP: если есть опция Check content и регулярка не срабатывает то прокси баниться, также если при использовании прокси парсер получает ошибку 59х(куда в т.ч. входят таймауты) то прокси так же будет баниться
     
    Nick нравится это.
  5. LmPopo

    LmPopo A-Parser Pro License
    A-Parser Pro

    Регистрация:
    22 янв 2013
    Сообщения:
    88
    Симпатии:
    26
    А как насчёт добавить улучшение: если совпадение по регулярке найдено - значит бан?
    Бывает проще наоборот поступить.
    Создать темку улучшения, а? )
     
  6. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    проще указать такую регулярку ^((?!ip banned).)*$
     
    LmPopo нравится это.
  7. LmPopo

    LmPopo A-Parser Pro License
    A-Parser Pro

    Регистрация:
    22 янв 2013
    Сообщения:
    88
    Симпатии:
    26
    Образцово мудро
     
  8. LmPopo

    LmPopo A-Parser Pro License
    A-Parser Pro

    Регистрация:
    22 янв 2013
    Сообщения:
    88
    Симпатии:
    26
    Рано обрадовался, я попробовал встречающееся слово, возликовал - Check ReGex not match
    Но если вставить не встречающееся - тож самое:
    upload_2014-10-20_19-12-39.png
    Т.е. такая регулярка не подходит для поиска признака бана.
    Или я что-то упустил из вида?
     
  9. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    я проверил - в текущей версии проверка идет без флага /s, сейчас его можно форсировать:
    Код:
    ^(?s:(?!TETEREV).)*$
    а в следующей версии уже будет работать с флагом /s
     
    LmPopo нравится это.
  10. antonevi4

    antonevi4 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    16 апр 2015
    Сообщения:
    67
    Симпатии:
    15
    А в каких случаях отдается такая формулировка, как она выглядит?
    Признак бана это капча или что-то более жесткое?
    Чем грозит бан?

    Поясню подтекст - собираю через свои айпихи, используя капмонстр. Капмонстр не догружен до половины, хочется разогнать скорость. Можно ли ставить Proxy ban time в 0 или это чем-либо грозит?

    Спасибо.

    UPD
    Речь идет о парсерах выдачи гугла и яндекса и частотностей директ/вордстат.
     
  11. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    признак бана - это когда Google или Yandex уже не показывает каптчу, а блокирует полностью доступ

    можно, но скорее всего это не изменит ситуацию
     

Поделиться этой страницей