我正在刮一页纸。我做了两个loops
,但是第一个循环只取transcription_price
值,而不是最后两个值。为什么以及如何解决这个问题
def start_requests(self):
links = {'transcription_page': 'https://www.rev.com/freelancers/transcription',
'captions_page': 'https://www.rev.com/freelancers/captions',
'subtitles_page': 'https://www.rev.com/freelancers/subtitles'
}
call = [self.parse_transcription,self.parse_caption,self.parse_subtitles]
for link in links.values():
for n in range(0,3):
return [scrapy.Request(link, callback=call[n])]
因为
return
语句返回值并终止函数,将控制流传递给调用者。这样,内部循环在遍历所有值之前终止也许你想要的是
yield
:此外,使用未命名常量是一种植入错误的方法,这种错误通常不那么明显,更不用说非Pythonic:
1除非您在
try/except/finally
块中,在这种情况下finally
总是在return
发生之前执行:相关问题 更多 >
编程相关推荐