scrapy的User-Agent中间件、代理IP中间件、cookies设置、多个爬虫自定义settings设置
在scrapy的反爬中,常用的几个配置,简单总结了下:
User-Agent中间件:
from fake_useragent import UserAgent
class RandomUserAgentMiddleware(object):
def __init__(self, crawler):
self.ua = UserAgent()
def process_request(self, request, spider):
request.headers.setdefault('User-Agent', self.ua.random)
代理IP中间件:
class RandomProxyMiddleware(object):
'''
这只是一个简单的演示
'''
def process_request(self, request, spider):
ip = '' # 要用到的代理IP
port = '' # 要使用的代理port
request.meta['proxy'] = 'http://{}:{}'.format(ip, port)
cookies设置、多个爬虫共用一个settings时,各自spider中的设置:
class BaiduSpider(scrapy.Spider):
name = 'baidu'
allowed_domains = ['baidu.com']
start_urls = ['https://www.baidu.com']
# custom_settings可以设置调整settings中的配置参数,以此来适配自己的spider。
custom_settings = {
'COOKIES_ENABLED':True, # 在配置文件settings中可以设置成False, 在这个spider中这样设置就可以开启cookies了,其他的配置一样适用
}
def parse(self, response):
pass
都是很简单实用的配置
验证码:打码平台比较简单、省事、效率
注:每天进步一点点,或记录或不记录,都是自己的。记录是怕遗忘,也是为了更好的想起!