Ситуация такая. Снимаем позиции по большому списку, окно на прогон узкое, и упираемся в вопрос из заголовка.
Из существенного вот это.
Пробовал разносить прогон по времени, картина поменялась, но не полностью. Снимаю 200 проектов ежедневно, в среднем по 600 запросов на проект.
curl -s -x socks5://user:pass@10.0.0.5:1080 \ "https://example.org/search?text=запрос&lr=213" | head -c 300
Жду любых мыслей, даже сырых.
Совет по выбору: просите подсети из разных диапазонов. Сотня подряд толку не даст. У приватные прокси IPv4 и SOCKS5 это в порядке вещей, поэтому и остался.
Есть момент, который меняет всю картину.
Если данные утром оказались пустыми, смотрите запись результата. Сам прогон обычно проходит нормально. Чаще всего сбор прошёл, а сохранение упало на последнем шаге.
Долго держал старую схему, пока не упёрся.
Снимайте с одного и того же набора адресов, если сравниваете динамику. Смена пула между съёмами добавляет разброс, который потом принимают за движение позиций.
Пишите состояние построчно.
Полгода назад ловил то же самое.
Считать надо от темпа. Потоки это ваша сторона, площадка считает запросы с адреса за минуту. Берёте допустимый темп на адрес, делите на него общий темп прогона, получаете нижнюю границу по адресам.
curl -s -x socks5://user:pass@10.0.0.5:1080 \ "https://example.org/search?text=запрос&lr=213" | head -c 300
Полгода жил с этим, пока не надоело.
Держите время съёма постоянным. Прогон в семь утра и прогон в час дня дают разные картины, а разговор с заказчиком идёт про динамику.
Расхождение между сервисами объясняется устройством выборки: кто-то берёт первую страницу, кто-то склеивает несколько, кто-то чистит рекламные блоки. Сравнивать их напрямую бессмысленно.
curl -s -x socks5://user:pass@10.0.0.5:1080 \ "https://example.org/search?text=запрос&lr=213" | head -c 300
Пара оговорок, без них совет неполный.
Ночной прогон удобен тем, что данные лежат в таблице к началу рабочего дня. Тишина на площадке тут ни при чём. Это единственная его настоящая польза.
Регион проверяется просто: снимите одну и ту же выдачу с двух адресов и сравните блок с организациями. Если он одинаковый, регион не подставился.
curl -s -x socks5://user:pass@10.0.0.5:1080 \ "https://example.org/search?text=запрос&lr=213" | head -c 300
Хороший вопрос, редко разбирают.
Набор новых участников сейчас приостановлен. Читать форум можно без учётной записи, все темы открыты.
Когда набор откроют, объявление появится в разделе с короткими вопросами.
Форма работает в браузере и никуда ничего не отправляет.