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

Улучшение [1.1.13] Список user_agent-ов и их хранение вместе с сессиями (net::http)

Тема в разделе "1.1.20", создана пользователем fastkill, 21 апр 2014.

  1. fastkill

    fastkill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    21 мар 2014
    Сообщения:
    2
    Симпатии:
    4
    В продолжение этой задачи http://a-parser.com/threads/1085/

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

    Проблема актуальна как для штатных парсеров Google и Yandex, так и для Net::http
     
    Strannic нравится это.
  2. wildaks

    wildaks A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    12 ноя 2012
    Сообщения:
    38
    Симпатии:
    8
    Мне также хотелось бы увидеть такую реализацию.
     
  3. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.794
    Реализовано через шаблонизатор, создана глобальная переменная $tools которая теперь будет хранить набор инструментов доступных в любом шаблоне(в будущем в т.ч. пользовательских)

    [​IMG]

    Первый инструмент - $tools.ua: $tools.ua.list - содержит список агентов, $tools.ua.random() - метод выводит рандомный агент из списка
    Также добавлена поддержка шаблонов для параметра User agent - шаблон надо указывать в явном виде
    Cписок агентов хранится в файле files/tools/user-agents.txt



    для штатных парсеров не будет возможности менять агент, т.к. это напрямую может влиять на верстку и соответственно на корректность парсинга
     

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