Python全系列 教程
3567个小节阅读:5931.6k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
下载中间件是Scrapy请求/响应处理的钩子框架。这是一个轻、低层次的应用。
通过可下载中间件,可以处理请求之前和请求之后的数据。
如果使用下载中间件需要在Scrapy中的setting.py的配置DOWNLOADER_MIDDLEWARES才可以使用,
比如:
xxxxxxxxxx
DOWNLOADER_MIDDLEWARES = {
'myproject.middlewares.CustomDownloaderMiddleware': 543,
}
问题
每次创建项目后,需要自己复制UserAgent到settings,比较繁琐
解决方案
开发下载中间件,设置UserAgent
代码
xxxxxxxxxx
from fake_useragent import UserAgent
class MyUserAgentMiddleware:
def process_request(self, request, spider):
request.headers.setdefault(b'User-Agent', UserAgent().chrome)
xxxxxxxxxx
pip install scrapy-fake-useragent==1.4.4
配置模块到Setting文件
xxxxxxxxxx
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
'scrapy.downloadermiddlewares.retry.RetryMiddleware': None,
'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 400,
'scrapy_fake_useragent.middleware.RetryUserAgentMiddleware': 401,
}
实时效果反馈
1. 关于Scrapy, 下载中间件说法错误的是?
A 下载中间件需要开发才可以使用
B 需要在settings中配置参数开启下载中间件
C 下载中间件可以处理请求之后的数据
D 下载中间件可以处理请求之前的数据
答案
1=>A