В продолжение этой задачи http://a-parser.com/threads/1085/ Предлагается в специальном файле создавать список с user_agent-ами, для их закрепления за прокси (случайным образом). При первом обращении парсер берет прокси, выбирает для него случайный user_agent, при последующем обращении по этому прокси используется тот же user_agent. Это позволит снизить риск бана проксей (особенно подсеток) по юзерагенту. Проблема актуальна как для штатных парсеров Google и Yandex, так и для Net::http
Реализовано через шаблонизатор, создана глобальная переменная $tools которая теперь будет хранить набор инструментов доступных в любом шаблоне(в будущем в т.ч. пользовательских) Первый инструмент - $tools.ua: $tools.ua.list - содержит список агентов, $tools.ua.random() - метод выводит рандомный агент из списка Также добавлена поддержка шаблонов для параметра User agent - шаблон надо указывать в явном виде Cписок агентов хранится в файле files/tools/user-agents.txt для штатных парсеров не будет возможности менять агент, т.к. это напрямую может влиять на верстку и соответственно на корректность парсинга