【发布时间】:2018-01-27 11:26:12
【问题描述】:
我有一个使用scrapy从网站获取一些数据的解析函数,这个函数通过这个函数将一些数据传递给另一个函数,我无法返回输出!,我尝试使用打印它工作但我需要使用返回以获取 json 文件中的数据。 如何使打印的func返回项目?
def parse(self, response):
all_tr= list()
for tr in response.xpath('//tr').extract():
all_tr.append(tr)
tr_data = list()
city_tr = list()
for tr in all_tr:
if re.findall(r'class="city".+name.+?<', tr):
city_tr.append(tr)
else:
pass
c= 0
const =1
while const ==1:
try:
start=city_tr[c]
end= city_tr[c+1]
indexStart=all_tr.index(start)
indexEnd=all_tr.index(end)
tr_data.append(all_tr[indexStart:indexEnd])
c=c+1
except IndexError:
const=2
tr_data.append(all_tr[all_tr.index(start):])
for tr in tr_data:
func_2(tr)
我在func_2中有一些操作,然后将其传递给另一个函数“prin func”
def print_func(city,days, tr):
if len(days)==0:
item=PropertiesItem()
item['Name']= ""
item['City']= city
item['State']= "CA"
return item
print_func 不返回任何东西,谁能告诉我为什么?
【问题讨论】:
-
正确格式化您的代码,使其可读
-
@TarunLalwani 完成。你知道为什么 print func 不返回项目吗?
标签: python scrapy return scrapy-spider yield