我有以下最初返回单个 JSON 对象的“工人”,但我希望它返回多个 JSON 对象:
def data_worker(data):
_cats, index, total = data
_breeds = {}
try:
url = _channels['feedUrl']
r = get(url, timeout=5)
rss = etree.XML(r.content)
tags = rss.xpath('//cats/item')
_cats['breeds'] = {}
for t in tags:
_cats['breeds']["".join(t.xpath('breed/@url'))] = True
_breeds['url'] = "".join(t.xpath('breed/@url'))
return [_cats, _breeds]
except:
return [_cats, _breeds]
Run Code Online (Sandbox Code Playgroud)
这个 worker 是一个多处理池的参数:
cats, breeds = pool.map(data_worker, data, chunksize=1)
Run Code Online (Sandbox Code Playgroud)
当我只用一个输出(即 _cats)运行池和工作器时,它工作得很好,但是当我尝试返回多个 JSON“模式”时,我收到错误:
File "crawl.py", line 111, in addFeedData
[cats, breeds] = pool.map(data_worker, data, chunksize=1)
ValueError: too many values to unpack
Run Code Online (Sandbox Code Playgroud)
如何在 …
我试图用来REGEXP_REPLACE删除的所有标点符号varchar。我正在使用以下内容:
regexp_replace(d.NAME, [.,\/#!$%\^&\*;:{}=\-_`~()])
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误,说:
陈述1无效。错误:“或”附近的语法错误。
如何解决此问题以删除所有标点符号?