Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 13152|Ответ: 2

Несколько схем для распределённых краулеров, позволяющих использовать прокси-IP

[Скопировать ссылку]
Опубликовано 17.07.2018 13:54:35 | | |
Без прокси-IP работа с краулером будет сложной, поэтому многим инженерам по краулеру приходится покупать эффективный и стабильный прокси-IP. С качественным прокси-IP, можете ли вы расслабиться и расслабиться? Всё не так просто, и необходимо оптимизировать схему, рационально распределять ресурсы, повышать эффективность работы и выполнять работу с краулёрами более эффективно, быстрее и стабильно.

Вариант 1: Каждый процесс случайным образом выбирает список IP из интерфейсного API (например, извлекает 100 IP одновременно) для их переключения, а затем вызывает API для их получения, если он не работает, и общая логика выглядит следующей:

1. Каждый процесс (или поток) случайным образом получает пакет IP из интерфейса и пытается получить данные из списка IP по циклу.

2. Если доступ успешен, продолжайте брать следующий.

3. Если не получится (например, тайм-аут, код верификации и т.д.), возьмите партию IP из интерфейса и продолжайте попытки.

Недостатки решения: у каждого IP есть срок годности, если извлечь 100, то при использовании 10-го большинства последних могут быть недействительными. Если вы настроите HTTP-запрос с тайм-аутом соединения 3 секунды и тайм-аутом чтения 5 секунд, вы можете потерять 3-8 секунд времени, и эти 3-8 секунд можно будет захватить десятки раз.

Вариант 2: Каждый процесс принимает случайный IP из интерфейсного API для использования, а затем вызывает API для получения IP в случае неудачи; общая логика выглядит следующим образом:

1. Каждый процесс (или поток) случайным образом получает IP с интерфейса и использует этот IP для доступа к ресурсам.

2. Если доступ успешен, продолжайте брать следующий.

3. Если не получится (например, тайм-аут, код верификации и т.д.), случайным образом выберите IP с интерфейса и продолжайте попытку.

Недостатки: Вызов API для получения IP-адресов происходит очень часто, что создаёт серьёзную нагрузку на прокси-сервер, влияет на стабильность интерфейса API и может быть ограничено в извлечении. Эта схема также не подходит и не может функционировать устойчиво и стабильно.

Вариант 3: Сначала извлечь большое количество IP и импортировать их в локальную базу данных, а затем взять IP из базы данных, общая логика выглядит следующим образом:

1. Создайте таблицу в базе данных, напишите скрипт импорта, запрашите API в минуту (обратитесь к рекомендациям провайдера IP-прокси) и импортируйте список IP в базу данных.

2. Записывать время импорта, IP, порт, время истечения, статус доступности IP и другие поля в базе данных;

3. Напишите скрипт захвата, скрипт crab считывает доступный IP из базы данных, и каждый процесс получает IP из базы данных для использования.

4. Выполняйте сканирование, оценивайте результаты, обрабатывайте куки и т.д., если есть код подтверждения или сбой, отдайте этот IP и переходите на новый.

Это решение эффективно предотвращает расход ресурсов прокси-сервера, распределяет использование прокси-IP, является более эффективным и стабильным, а также обеспечивает надёжность и стабильность работы с краулером.




Предыдущий:Как использовать Hreflang для SEO
Следующий:ОШИБКА 1093 (HY000): Вы не можете указать целевой таблицу 'xxx' для upda...
Опубликовано 18.07.2018 14:50:55 |
Разве Схема 3 и Схема 1 — это одно и то же, если извлечь большое количество IP, а те, что не будут использованы позже, скоро истекут?
Опубликовано 29.01.2019 21:06:25 |
Марк, я выучил идею, а потом попробую её написать
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com