0
A
回答
0
我有,当我在做网络爬虫同样的问题,这是我使用的解决方案:
class URLOpener():
def opener(self,user_agent):
cj=cookielib.CookieJar()
#Process Hadlers
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders=[
('User-Agent', user_agent),
('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
('Accept-Language', 'en-gb,en;q=0.5'),
('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'),
('Keep-Alive', '115'),
('Connection', 'keep-alive'),
('Cache-Control', 'max-age=0'),
]
return opener
#Openers with different User-Agents
def opener_list(self,f_path):
#f_path is a path to the file that contains browsers
f=open(f_path, 'r+')
count=0
user_agent_list=list()
for line in f.xreadlines():
count+=1
user_agent_list.append(line[:-1])
openers=[self.opener(user_agent) for user_agent in user_agent_list]
return openers
也文件,我创建看起来类似于:
Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
Mozilla/5.0 (Linux; U; Android 4.0.3; de-ch; HTC Sensation Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
Mozilla/5.0 (Linux; U; Android 2.3; en-us) AppleWebKit/999+ (KHTML, like Gecko) Safari/999.9
Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; HTC_IncredibleS_S710e Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Linux; U; Android 2.3.5; en-us; HTC Vision Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Linux; U; Android 2.3.4; fr-fr; HTC Desire Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; T-Mobile myTouch 3G Slide Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC_Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC_Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari
Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
1
此link为您提供了示例用户代理引用。示例代码演示它:
from random import choice
user_agents = ['Mozilla/5.0 (X11; U; Linux; i686; en-US; rv:1.6) Gecko Debian/1.6-7','Konqueror/3.0-rc4; (Konqueror/3.0-rc4; i686 Linux;;datecode)','Opera/9.52 (X11; Linux i686; U; en)']
random_user_agent = choice(user_agents)
可以包括尽可能多的数目从上述链接到可变user_agents user_agents的。
现在只需将random_user_agent
放入Mechanize中,方法是在初始化期间添加标头。
相关问题
- 1. 设置HTTP用户代理机械化?
- 2. Ruby机械化:用户代理?
- 3. 使用Python机械化,并与随机代理支持
- 4. python机械化代理问题
- 5. 机械化与SSL通代理错误
- 6. Python的机械化代理支持
- 7. 代理似乎被机械化忽略?
- 8. WWW ::机械化和迭代
- 9. 使用Firefox随机用户代理随机化浏览器字符串
- 10. 使用机械化
- 11. 机械化Javascript
- 12. 在机械化
- 13. 与机械化
- 14. Python:机械化
- 15. 机械化跟随元刷新链接
- 16. 使用Python机械化保存随机生成的图片
- 17. 使用机械化处理phpsessid
- 18. 机械化/ OWA用户/密码错误
- 19. 机械化重定向/引入nokogiri(使用机械化小白)
- 20. 代码随机化
- 21. 机械化jQuery中
- 22. WWW ::机械化Perl
- 23. NoMethodError从机械化
- 24. 多页机械化
- 25. Symfony和机械化
- 26. Ruby机械化+ Tor?
- 27. 机械化提交
- 28. 用随机代理卷曲
- 29. 无法使用机械化
- 30. 用Ruby解析机械化
什么都有你到目前为止尝试过?它是如何为你打破的?请向我们展示您尝试过的代码,以便我们为您提供帮助。 –