У меня есть два паука. Допустим, A и B. A собирает кучу URL-адресов и записывает их в файл CSV, а B копирует внутри этих URL-адресов чтение из файла CSV, сгенерированного A. Но он выдает ошибку FileNotFound из B, прежде чем A действительно сможет создать файл. Как я могу заставить своих пауков вести себя так, чтобы B ждал, пока A не вернется с URL? Любое другое решение будет полезно.
Файл WriteToCsv.py
def write_to_csv(item):
with open('urls.csv', 'a', newline='') as csvfile:
fieldnames = ['url']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writerow({'url': item})
class WriteToCsv(object):
def process_item(self, item, spider):
if item['url']:
write_to_csv("http://pypi.org" +item["url"])
return item
Файл Pipelines.py
ITEM_PIPELINES = {
'PyPi.WriteToCsv.WriteToCsv': 100,
'PyPi.pipelines.PypiPipeline': 300,
}
Метод read_csv
def read_csv():
x = []
with open('urls.csv', 'r') as csvFile:
reader = csv.reader(csvFile)
for row in reader:
x = [''.join(url) for url in reader]
return x
start_urls в файле паука B
start_urls = read_csv() #Error here