在接下来的一段时间内,我会不断进行更新爬虫模块,将提供给大家学习和使用,同时复习一下之前学到的知识。
基础铺垫:
(该模块用于设置等待时间,防止被检测的爬虫程序)
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))
//进行相应的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等等
常见问题:
fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
这个问题一般是当前的fake_useragent版本过低,直接更新版本即可。在相应python环境中输入pip install -U fake-useragent即可完成更新,Python的其他包也可以用这种方法完成更新pip install -U 包名。
今天分享就到这里,谢谢大家!