Top.Mail.Ru
Ответы

Парсинг соцсетей и 429 ошибка

Сделал хороший многопоточный парсер, но его производительность сильно ограничивает 429 код. Решаю эту проблему через прокси, но может есть решение попроще? Прокси искать надо, обновлять, в некоторых случаях формат ответа почему-то меняется.
Не смотрел глубокую детализацию запросов к серверу, но клиента что там ещё идентифицировать может? Мак адрес, наверняка что-то ещё (не беру в расчёт специализированные хедеры).
Может есть простой способ всё это эмулировать? Виртуальной сетевой картой, не знаю, как-нибудь, чтобы отойти от необходимости регулярно обновлять прокси.

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок

мак адрес используется на канальном уровне. За пределы широковещательного домена он не выходит. Блочат, скорее всего, по ip или целой подсети.
"Может есть простой способ всё это эмулировать? Виртуальной сетевой картой, не знаю, как-нибудь," - Чтобы ответ от сервера до тебя дошел нужен белый ip (да, nat существуют, но необходимость белого ip это не меняет).
Может стоит посмотреть в сторону ipv6? Их вроде целыми пачками раздают (не сильно знаком, поэтому могу ошибаться).

Аватар пользователя

Если вы хотите эмулировать запросы с разных IP-адресов без использования реальных прокси-серверов, вам может потребоваться использовать технику, известную как IP-суффиксация (IP suffixing) или IP-маскировка (IP masking). Суть этой техники заключается в изменении вашего IP-адреса по каждому запросу путем добавления суффикса к вашему существующему IP.

Одним из способов реализации IP-суффиксации является использование виртуальных сетевых интерфейсов (Virtual Network Interfaces). Вы можете создать несколько виртуальных сетевых интерфейсов на вашей машине и назначать каждому интерфейсу уникальный IP-адрес. Затем, при выполнении запросов, вы будете использовать разные сетевые интерфейсы, эмулируя запросы от разных IP-адресов.

К примеру, на Linux вы можете использовать утилиту ifconfig для создания виртуальных интерфейсов. Вот пример команды, которая создаст два виртуальных интерфейса с разными IP-адресами:

ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0 up
ifconfig eth0:2 192.168.0.3 netmask 255.255.255.0 up
Затем вы можете настроить свой парсер для отправки запросов через эти виртуальные интерфейсы, чтобы каждый запрос имел разный IP-адрес.

Учтите, что использование IP-суффиксации может ограничиваться конфигурацией вашей сети и операционной системы. Кроме того, если вы планируете обходить ограничения на количество запросов (код 429), с помощью таких техник, убедитесь, что это не противоречит политике и правилам сервиса, с которым вы работаете.