我正在尝试使用一个中间件与scrapy,所以在我的项目“Tutorial”中,我做了以下工作:
在设置文件中我添加:
DOWNLOADER_MIDDLEWARES = {
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
'tutorial.middlewares.ProxyMiddleware': 100,
}
并创建一个名为中间件.py包含以下内容:
^{pr2}$当我试图在shell中运行项目时
scrapy shell http://google.com
我得到以下错误:
file "/usr/local/lib/python2.7/dist-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread
result.raiseException()
File "<string>", line 2, in raiseException
TypeError: argument of type 'NoneType' is not iterable
根据documentation:
您没有从自定义中间件的
process_request()
方法返回:这里返回
request
,假设您想用proxy
集重新安排请求。在相关问题 更多 >
编程相关推荐