网络爬虫基础一-----等待时间与User-Agent伪装

在接下来的一段时间内,我会不断进行更新爬虫模块,将提供给大家学习和使用,同时复习一下之前学到的知识。

基础铺垫:

random模块

(该模块用于设置等待时间,防止被检测的爬虫程序)

1.random.random 生成0-1之间的随机浮点数

import random
print(random.random())

 

2.random.uniform(a, b): 返回随机生成的一个浮点数,范围在a-b之间,一般是使用这个作为生成等待时间

import random
print(random.uniform(1,5))

 

3.random.randint(a,b):生成指定范围内的整数

import random
print(random.randint(1,10))

 

4.random.choice() 在列表等可迭代对象中生成随机挑选一个

//搭建代理池 列表中的每一个元素都是代理ip 爬虫的时候使用random.choice(list) 从列表中挑选一个作为参数
list=[{'https':'121.1.1.1:34'},{'https':'101.1.1.1:3'},{'https':'181.1.1.1:14'}]
print(random.choice(list))

 

User-Agent模块

//进行相应的python环境 直接pip安装
pip install fake_useragent

该fake_useragent模块可以动态生成UA,每次爬取数据的时候会生成新的,如果每次都是固定的UA,容易被检测到。

原来的写法:

headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}

现在的写法:

from fake_useragent import UserAgent
ua=UserAgent()
headers = {
    'User-Agent':ua.chrome
}
//ua.chorme 生成随机的chrome浏览器的UA,也可以是ua.edge等等

网络爬虫基础一-----等待时间与User-Agent伪装_第1张图片 

网络爬虫基础一-----等待时间与User-Agent伪装_第2张图片 

常见问题:

fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached

这个问题一般是当前的fake_useragent版本过低,直接更新版本即可。在相应python环境中输入pip install -U fake-useragent即可完成更新,Python的其他包也可以用这种方法完成更新pip install -U 包名。

今天分享就到这里,谢谢大家!

你可能感兴趣的:(网络爬虫,爬虫,python)