Fal*_*ces 4 python unicode dictionary scrapy
我正在尝试建立关键字词典并将其放入一个拼凑的项目中。
'post_keywords':{1: 'midwest', 2: 'i-70',}
Run Code Online (Sandbox Code Playgroud)
关键是这将在以后的所有操作中全部放入json对象中。我尝试过先初始化一个新的空白字典,但这是行不通的。
管道代码:
tag_count = 0
for word, tag in blob.tags:
if tag == 'NN':
tag_count = tag_count+1
nouns.append(word.lemmatize())
keyword_dict = dict()
key = 0
for item in random.sample(nouns, tag_count):
word = Word(item)
key=key+1
keyword_dict[key] = word
item['post_keywords'] = keyword_dict
Run Code Online (Sandbox Code Playgroud)
项目:
post_keywords = scrapy.Field()
Run Code Online (Sandbox Code Playgroud)
输出:
Traceback (most recent call last):
File "B:\Mega Sync\Programming\job_scrape\lib\site-packages\twisted\internet\defer.py", line 588, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "B:\Mega Sync\Programming\job_scrape\cl_tech\cl_tech\pipelines.py", line215, in process_item
item['post_noun_phrases'] = noun_phrase_dict
TypeError: 'unicode' object does not support item assignment
Run Code Online (Sandbox Code Playgroud)
SEEMS就像管道一样,表现怪异,就像它们不想在管道中运行所有代码,除非所有项目分配都签出,这使得它不会创建我初始化的字典。
感谢MarkTolonen的帮助。
我的错误是使用变量名称“ item”进行了两件事。
这有效:
for thing in random.sample(nouns, tag_count):
word = Word(thing)
key=key+1
keyword_dict[key] = word
item['post_keywords'] = keyword_dict
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9531 次 |
| 最近记录: |