【发布时间】:2020-05-16 15:34:33
【问题描述】:
我正在尝试通过 spider_close 方法获取一个 scrapy 2.1.x 作业的作业 ID:
class mysql_pipeline(object):
import os
def test:
print(os.environ['SCRAPY_JOB'])
很遗憾,这会导致关键错误:
ERROR: Scraper close failure
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/Users/andy/spider2/crawler/pipelines.py", line 137, in close_spider
os.environ['SCRAPY_JOB'],
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/os.py", line 675, in __getitem__
raise KeyError(key) from None
KeyError: 'SCRAPY_JOB'
2020-05-16 17:24:52 [scrapy
如何在方法中提取作业 ID?
【问题讨论】:
-
这似乎是关于 Scrapyd,而不是 Scrapy。 stackoverflow.com/q/9652456/939364 可能会有所帮助。
-
根据我的理解,我就是这样做的。不工作。