我知道您可以通过设置agent.user_agent_alias ='Linux Mozilla'来使用一组预定义的别名,但是如果我想设置自己的用户代理,我正在编写一个Web爬虫并且想要识别它,对于我正在编制索引的网站。就像Googlebot一样。
似乎有一个user_agent方法,但我似乎找不到任何关于它的功能的文档。
答案 0 :(得分:57)
您可以从别名
设置用户代理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'
答案 1 :(得分:5)
我一直在寻找为Mechanize设置随机用户代理的方法,所以我最终这样做了:
a = Mechanize.new do |agent|
agent.user_agent_alias = (Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample
end
答案 2 :(得分:0)
只是为了得到一个新的代理,这不是机械化
Mechanize::AGENT_ALIASES[(Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample]
答案 3 :(得分:0)
正如@Arkhitech所回答,现在你想做:
agt = Mechanize.new
agt.agent.user_agent = Mechanize::AGENT_ALIASES[(Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample]
user_agent_alias
不再可用。