Недавно я начал работу по созданию веб-скреперов с использованием scrapy. Первоначально я развернул свои проекты в области scrapy, используя scrapyd.ввод/вывод для экземпляра scrapyd, размещенного на экземпляре Amazon EC2 linux
SCRAPY проект, который я построил опирается на доступ к данным из файла CSV для запуска
def search(self, response):
with open('data.csv', 'rb') as fin:
reader = csv.reader(fin)
for row in reader:
subscriberID = row[0]
newEffDate = datetime.datetime.now()
counter = 0
yield scrapy.Request(
url = "https://www.healthnet.com/portal/provider/protected/patient/results.action?__checkbox_viewCCDocs=true&subscriberId=" + subscriberID + "&formulary=formulary",
callback = self.find_term,
meta = {
'ID': subscriberID,
'newDate': newEffDate,
'counter' : counter
}
)
Он выводит Царапины данных в другую CSV файл
for x in data:
with open('missing.csv', 'ab') as fout:
csvwriter = csv.writer(fout, delimiter = ',')
csvwriter.writerow([oldEffDate.strftime("%m/%d/%Y"),subscriberID,ipa])
return
Мы находимся в начальной стадии создавая приложение, которое должно получить доступ и запустить этих пауков. Я решил разместить мой экземпляр scrapyd на экземпляре AWS EC2 linux. Развертывание в AWS было простым (http://bgrva.github.io/blog/2014/04/13/deploy-crawler-to-ec2-with-scrapyd/).
Как сбрасывать данные ввода/вывода в/из экземпляра scrapyd, работающего на экземпляре AWS EC2 linux?
EDIT: Я предполагаю, что пропусканием файл будет выглядеть
curl http://my-ec2.amazonaws.com:6800/schedule.json -d project=projectX -d spider=spider2b -d in=file_path
Правильно ли это? Как бы я захватил выход из этого запуска паука? Имеет ли этот подход проблемы безопасности?
Спасибо, это то, что я искал. Я редактировал мой вопрос, чтобы сделать его менее запутанным –