Подтвердить что ты не робот

Как настроить пользовательский агент для Mechanize in Rails

Я знаю, что у вас есть набор предопределенных псевдонимов, которые вы можете использовать, например, установив agent.user_agent_alias = 'Linux Mozilla', но что, если я хочу установить свой собственный агент пользователя, поскольку я пишу веб-искателя и хотите определить его, для сайтов, которые я индексирую ради. Также как Googlebot.

Кажется, что метод user_agent, но я не могу найти никакой документации об этой функции.

4b9b3361

Ответ 1

Пользовательский агент можно установить из псевдонима

a = Mechanize.new
a.user_agent_alias = 'Mac Safari'

Доступные псевдонимы хранятся в константе AGENT_ALIASES.

p Mechanize::AGENT_ALIASES

В противном случае используйте #user_agent, чтобы настроить пользовательский агент.

a = Mechanize.new
a.user_agent = 'Custom agent'

Ответ 2

Я искал способ установить случайный пользовательский агент для Mechanize, поэтому я закончил это:

a = Mechanize.new do |agent|
  agent.user_agent_alias = (Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample
end

Ответ 3

Просто, чтобы получить новый агент, который не механизирует

Mechanize::AGENT_ALIASES[(Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample]

Ответ 4

Как ответил @Arkhitech, теперь вы хотели бы сделать:

  agt = Mechanize.new 
  agt.agent.user_agent = Mechanize::AGENT_ALIASES[(Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample] 

user_agent_alias больше не доступен.