爬虫中浏览器UA与访问随机延迟的模拟
前面在requests库的使用中,模拟了headers
其中有一项是user-agent
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
}
Google浏览器显示的就这么多,火狐还能更多点
其中Windows NT 是指的用户操作系统
Chrome/后面的就是版本号
改变的就是这两个地方
import random
class MyUA:
first_num = random.randint(55, 62)
third_num = random.randint(0, 3200)
fourth_num = random.randint(0, 140)
os_type = [
'(Windows NT 6.1; WOW64)', '(Windows NT 10.0; WOW64)', '(X11;Linux x86_64)','(Macintosh; Intel Mac OS X 10_12_6)'
]
chrome_version = 'Chrome/{}.0.{}.{}'.format(first_num, third_num,
fourth_num)
@classmethod
def get_ua(cls):
return ' '.join(['Mozilla/5.0', random.choice(cls.os_type),
'AppleWebKit/537.36','(KHTML, like Gecko)', cls.chrome_version,
'Safari/537.36'])
print(MyUA.get_ua())
每次调用类方法出来的是随机的用户代理。
这样对方服务器收到的是随机的版本和系统类型,以掩饰自己的批量操作。
而随机的延迟只是 简单的加一个random里面的数值,然后time.sleep()就可以了,并不需要多少东西,找自己喜欢的时间长度。
结合前面那篇,已经掌握了随机的代理,随机的浏览器代理和随机的访问频率。