为了区分是真实的用户还是网络爬虫在向服务器发请求,网站通常会加入UserAgent信息.
在编写爬虫进行网页数据的时候,为了欺骗服务器,让服务器误以为爬虫是真实的用户,需要模拟UserAgent,一开始我从网上搜集了很多浏览器的头信息,写入一个txt文本文件中,在爬虫的过程中,随机地读取一条来完成爬虫。
安装fake-useragent:pip install fake-useragent
示例代码:
from fake_useragent import UserAgent ua = UserAgent() #ie浏览器的user agent print(ua.ie) #opera浏览器 print(ua.opera) #chrome浏览器 print(ua.chrome) #firefox浏览器 print(ua.firefox) #safri浏览器 print(ua.safari) #最常用的方式随机生成浏览器头信息 print(ua.random)
有时候会因为网络或者其他问题,出现异常(fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
), 可以禁用服务器缓存。
from fake_useragent import UserAgent ua = UserAgent(use_cache_server=False)
使用这个包以后,再也不需要维护浏览器头信息,爬虫工作也变得简便很多啦!
发表回复