首先我们要知道scrapy的基本数据流向
scrapy 数据的基本流向
那个十字框架图我就不画了,数据处理是这样的:
spider -> 引擎-> 调度器 -> requests -> download下载器-> spider -> 引擎 -> pipline
spider指定url,给引擎,引擎让到调度器根据url生成request,丢给下载器;下载器生成response返回数据,数据再经过引擎丢给spider处理;处理完的数据需要保存,在由引擎丢给pipline,保存数据。
scrapy 设置代理
scrapy 设置免费代理
通常,如果不希望自己的ip被人察觉,我们也希望使用代理地址,去请求服务器。有许多免费网站提供免费ip。我们只需要写个中间件,拦截请求接口,给request对象设置proxy ip即可。
做法如下:
-
在setting.py 配置免费ip列表:
USER_AGENT_LIST = [ '192.169.0.1:2031', '201.11.3.1:2022',