用户代理ip随机更换功能

本文介绍两种实现User-Agent随机更换的方法,一种较为复杂,另一种则通过构建User-Agent池并在下载中间件中随机选取实现。此外,还介绍了如何构建IP池并随机选择IP进行代理,以实现更高效的网络爬虫操作。

User-Agent的随机更换

实现用户代理的随机更换有两种方法
第一种
这个方法相对比第二种方法麻烦一点,参考https://www.cnblogs.com/sunlong88/articles/9576461.html
第二种
首先在下载中间件构建一个ua池(请求头自己在网上找)

def __init__(self):
    #构建use-agent池
    self.use_agent_list = [
        "Nokia6681/2.0 (3.10.6) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1",
        "Nokia6681/2.0 (3.20.3) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1",
        "Nokia6681/2.0 (4.00.15) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1",
        "Nokia6681/2.0 (5.37.01) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1",
        "Nokia6630/1.0 (2.39.15) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1",
        ]
      

然后重写 process_request方法即可

def process_request(self, request, spider):
    # 从ua池中随机选择请求头
    user_random_agent = random.choice(self.use_agent_list)
    # 设置请求头
    request.headers['User-Agent'] = user_random_agent
  

ip的随机更换

首先构建一个ip池(ip自己买)

构建ip池
self.ip_list = [
    "10.1.100.253:1234",
    "10.1.100.73:1234"
 ]

然后重写 process_request方法即可

随机选择ip
ip_random = random.choice(self.ip_list)
设置ip
 request.meta['proxy'] = random.choice(ip_random)

注意别忘了在setting文件中打开下载中间件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值