Scrapy 启用DNSCACHE_时的刮擦=假不工作
当我在DNSCACHE_ENABLED=False的情况下运行scrapy shell时,Get-KeyError:“字典为空” twisted.internet.error.DNSLookupError:DNS查找失败:主机名查找没有结果:www.mydomain.comScrapy 启用DNSCACHE_时的刮擦=假不工作,scrapy,scrapy-shell,Scrapy,Scrapy Shell,当我在DNSCACHE_ENABLED=False的情况下运行scrapy shell时,Get-KeyError:“字典为空” twisted.internet.error.DNSLookupError:DNS查找失败:主机名查找没有结果:www.mydomain.com 2017-07-03 03:09:12 [twisted] CRITICAL: while looking up www.mydomain.com with <scrapy.resolver.CachingThread
2017-07-03 03:09:12 [twisted] CRITICAL: while looking up www.mydomain.com with <scrapy.resolver.CachingThreadedResolver object at 0x3fd0050>
Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/twisted/internet/defer.py", line 653, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/usr/lib64/python2.7/site-packages/scrapy/resolver.py", line 29, in _cache_result
dnscache[name] = result
File "/usr/lib64/python2.7/site-packages/scrapy/utils/datatypes.py", line 305, in __setitem__
self.popitem(last=False)
File "/usr/lib64/python2.7/collections.py", line 159, in popitem
raise KeyError('dictionary is empty')
KeyError: 'dictionary is empty'
2017-07-03 03:09:12 [scrapy.downloadermiddlewares.retry] DEBUG: Gave up retrying <GET //www.mydomain.com/> (failed 3 times): DNS lookup failed: no results for hostname lookup: www.mydomain.com.
Traceback (most recent call last):
File "/usr/bin/scrapy", line 11, in <module>
sys.exit(execute())
File "/usr/lib64/python2.7/site-packages/scrapy/cmdline.py", line 149, in execute
_run_print_help(parser, _run_command, cmd, args, opts)
File "/usr/lib64/python2.7/site-packages/scrapy/cmdline.py", line 89, in _run_print_help
func(*a, **kw)
File "/usr/lib64/python2.7/site-packages/scrapy/cmdline.py", line 156, in _run_command
cmd.run(args, opts)
File "/usr/lib64/python2.7/site-packages/scrapy/commands/shell.py", line 73, in run
shell.start(url=url, redirect=not opts.no_redirect)
File "/usr/lib64/python2.7/site-packages/scrapy/shell.py", line 48, in start
self.fetch(url, spider, redirect=redirect)
File "/usr/lib64/python2.7/site-packages/scrapy/shell.py", line 115, in fetch
reactor, self._schedule, request, spider)
File "/usr/lib64/python2.7/site-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread
result.raiseException()
File "<string>", line 2, in raiseException
twisted.internet.error.DNSLookupError: DNS lookup failed: no results for hostname lookup: www.mydomain.com.
2017-07-03:09:12[twisted]关键:在查看www.mydomain.com时
回溯(最近一次呼叫最后一次):
文件“/usr/lib64/python2.7/site packages/twisted/internet/defer.py”,第653行,在runCallbacks中
current.result=回调(current.result,*args,**kw)
文件“/usr/lib64/python2.7/site packages/scrapy/resolver.py”,第29行,在缓存结果中
dnscache[名称]=结果
文件“/usr/lib64/python2.7/site packages/scrapy/utils/datatypes.py”,第305行,在__
self.popitem(last=False)
popitem中的文件“/usr/lib64/python2.7/collections.py”,第159行
raise KeyError('字典为空')
KeyError:“字典为空”
2017-07-03 03:09:12[scrapy.downloadermiddleware.retry]调试:放弃重试(失败3次):DNS查找失败:主机名查找没有结果:www.mydomain.com。
回溯(最近一次呼叫最后一次):
文件“/usr/bin/scrapy”,第11行,在
sys.exit(execute())
文件“/usr/lib64/python2.7/site packages/scrapy/cmdline.py”,执行中的第149行
_运行\u打印\u帮助(解析器、\u运行\u命令、cmd、args、opts)
文件“/usr/lib64/python2.7/site packages/scrapy/cmdline.py”,第89行,在“运行”和“打印”帮助中
func(*a,**千瓦)
文件“/usr/lib64/python2.7/site packages/scrapy/cmdline.py”,第156行,在_run_命令中
cmd.run(参数、选项)
文件“/usr/lib64/python2.7/site packages/scrapy/commands/shell.py”,第73行,正在运行
shell.start(url=url,redirect=notopts.no\u redirect)
文件“/usr/lib64/python2.7/site packages/scrapy/shell.py”,第48行,开始
self.fetch(url,spider,redirect=redirect)
文件“/usr/lib64/python2.7/site packages/scrapy/shell.py”,第115行,在fetch中
反应堆,自身(计划,请求,蜘蛛)
文件“/usr/lib64/python2.7/site packages/twisted/internet/threads.py”,第122行,位于blockingCallFromThread中
result.raiseException()
文件“”,第2行,在raiseException中
twisted.internet.error.DNSLookupError:DNS查找失败:主机名查找没有结果:www.mydomain.com。
任何思想欢迎在没有启用DNSCACHE_的情况下都能正常工作=错误您正在运行哪个版本?这个问题确实不一致,对我来说,它看起来像一个bug。仅供参考,我在Scrapy上发布了一个问题: