scrapy爬虫防止被禁止 User Agent切换

本文介绍了防止Scrapy爬虫被禁止的几种方法,包括User Agent轮换、禁用Cookie、设置DOWNLOAD_DELAY、利用Google Cache、轮换IP以及可能使用分布式下载器如scrapy-redis。提供了一个User Agent轮换的中间件实现示例。
摘要由CSDN通过智能技术生成

http://doc.scrapy.org/en/1.0/topics/practices.html#bans

1. User Agent轮换

2. 禁Cookie

3. 设置大于2s的DOWNLOAD_DELAY

4. 使用Google Cache (不懂)

5. 使用轮换IP(还不会)

6. 使用分布式下载器(不知道scrapy-redis算不算)


User Agent轮换例子

1)新建一个middlewares.py文件,内容如下,文件放在与items.py, settings.py所在的文件夹下。

#!/usr/bin/python
#-*-coding:utf-8-*-

import random
from scrapy.downloadermiddlewares.useragent import UserAgentMiddleware

class RotateUserAgentMiddleware(UserAgentMiddleware):
    def __init__(self, user_agent=''):
        self.user_agent = user_agent

    def process_request(self, request, spider):
        ua = random.choice(self.user_agent_list)
        if ua:
            print ua, '-----------------yyyyyyyyyyyyyyyyyyyyyyyyy'
            request.headers.setdefault('User-Agent', ua)

    #the default user_agent_list composes c
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值