我能够弄清楚发生了什么。
1:这被视为“ DOWNLOADER_MIDDLEWARE”,而不是“ SPIDER_MIDDLEWARE”。
DOWNLOADER_MIDDLEWARES = { 'test.ntlmauth.NTLM_Middleware': 400, }2:我尝试使用的中间件需要进行重大修改。这对我有用:
from scrapy.http import Responseimport requests from requests_ntlm import HttpNtlmAuthclass NTLM_Middleware(object): def process_request(self, request, spider): url = request.url pwd = getattr(spider, 'http_pass', '') usr = getattr(spider, 'http_user', '') s = requests.session() response = s.get(url,auth=HttpNtlmAuth(usr,pwd)) return Response(url,response.status_pre,{}, response.content)在Spider中,你所需要做的就是设置以下变量:
http_user = 'DOMAIN\USER'http_pass = 'PASS'



