ввод / вывод для экземпляра scrapyd, размещенного на экземпляре Amazon EC2 linux

Недавно я начал работать над созданием скребков с использованием scrapy. Первоначально я развернул свои проекты в области scrapy, используя scrapyd.

Проект, который я построил, основан на доступе к данным из файла 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 

Это верно? Как бы я захватил выход из этого запуска паука? Имеет ли этот подход проблемы безопасности?

One Solution collect form web for “ввод / вывод для экземпляра scrapyd, размещенного на экземпляре Amazon EC2 linux”

Является ли S3 опцией? Я спрашиваю, потому что вы уже используете EC2. Если это так, вы можете читать / писать с / на S3.

Я немного смущен, потому что вы упомянули как форматы CSV, так и JSON. Если вы читаете CSV, вы можете использовать CSVFeedSpider . В любом случае, вы также можете использовать boto для чтения с S3 в методе __init__ или start_requests вашего паука.

Что касается вывода, на этой странице объясняется, как использовать экспорт фидов для записи вывода обхода на S3.

Соответствующие настройки:

  • FEED_URI
  • FEED_FORMAT
  • AWS_ACCESS_KEY_ID
  • AWS_ACCESS_SECRET_KEY
  • Веб-сервер Django зависает после запуска демона
  • В чем разница между Model.id и Model.pk в django?
  • Ссылки с пространством до и после не обрабатываются правильно
  • Очистка веб-страниц с помощью Python
  • Как прочитать файл, загруженный selenium webdriver в python
  • Очистка многих страниц с помощью scrapy
  • Как использовать скрипинг с подключением к Интернету через прокси с аутентификацией
  • Альтернативы Selenium / Webdriver для заполнения полей при сглаживании без использования Python?
  • Python - лучший язык программирования в мире.