windows scrapyd-deploy не распознается

Я должен установить скрепид, как это

pip install scrapyd

Я хочу использовать scrapyd-deploy

когда я набираю Скрапид

я получил это исключение в CMD:

scrapyd не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

4 ответа

Решение

Я столкнулся с той же проблемой, и я также прочитал некоторые мнения о том, что scrapyd недоступен / не может работать на Windows, и почти отказался от него (на самом деле это не нужно, так как я собираюсь развернуть на Linux-машине, хотел scrapyd на окнах для целей отладки). Однако после некоторых исследований я нашел способ. Поскольку я не нашел четких инструкций по этому вопросу, я постараюсь сделать свой ответ как можно более подробным, перечислив все шаги, которые сработали для меня.

Предполагая, что вы хотите запустить scrapyd на локальном компьютере, вам понадобятся две командные строки: первая используется для подключения к scrapyd и поддержания соединения открытой, а вторая - для развертывания и планирования.

  • У вас уже есть пип, установленный скрепид

  • Создайте в этой папке папку C:\scrapyd и пустой файл.log с именем scrapyd.log (не уверен, что этот шаг необходим).

  • Откройте свой cmd и cd в папке Scripts внутри Python. Обычно это что-то вроде: C:\Python27\Scripts. Тип: python scrapyd

  • На этом этапе вы должны увидеть что-то вроде этого:

    2014-03-26 13:57:30+0200 [-] Log opened.
    
    2014-03-26 13:57:30+0200 [-] twistd 13.2.0 (C:\Python27\python.exe 2.7.6) starting up.
    
    2014-03-26 13:57:30+0200 [-] reactor class: twisted.internet.selectreactor.SelectReactor.
    
    2014-03-26 13:57:30+0200 [-] Site starting on 6800
    
    2014-03-26 13:57:30+0200 [-] Starting factory <twisted.web.server.Site instance at 0x0000000003F69208>
    
    2014-03-26 13:57:30+0200 [Launcher] Scrapyd 1.0.1 started: max_proc=16, runner='scrapyd.runner'
    
  • Если вы можете открыть свой браузер и перейти к http://localhost:6800 тогда ты в порядке. Окно командной строки должно оставаться открытым в фоновом режиме, так как соединение будет закрыто, если вы его закроете.

  • В проводнике Windows перейдите в папку проекта scrapy и отредактируйте найденный там файл scrapy.cfg: напишите имя цели развертывания: например, [deploy: scrapyd] и раскомментируйте строку URL.

  • Откройте вторую командную строку и перейдите в папку с проектом Scrapy. Тип: scrapy deploy -l

  • Развернуть: тип: scrapy deploy scrapyd -p project_name (Скрапид ваша цель). Вы должны получить код ответа сервера 200 и статус ok. Вы можете проверить успешность развертывания, набрав: scrapy deploy -L scrapyd

  • Планирование: вам нужно установить curl для Windows. Вот как это делается: questions / 9507353 / тип шагов-для-настройки-скручивания в окнах: curl http://localhost:6800/schedule.json -d project=project_name -d spider=spider_name Опять же, вы должны получить нормальный статус, и в вашем браузере на http://localhost:6800 под заданиями можно проверить, действительно ли задание было запланировано.

Надеюсь, это поможет.

Если вы устанавливаете scrapyed-клиент с помощью pip install scrapyd-client Я предлагаю попробовать эту команду:

pip install git+https://github.com/scrapy/scrapyd-client

это сработало для меня.

благодаря команде scrapyd-client не найдена

Для меня предложенное выше решение не сработало.

Ниже того, что у меня сработало: (для scrapy в версии 0.24).

Идти к C:\Python27\Scripts и создайте два файла:

scrapy.bat

scrapyd-deploy.bat

Отредактируйте оба файла с помощью блокнота и вставьте:

в scrapy.bat файл:

@echo off
c:\Python27\python c:\Python27\Scripts\scrapy %*

в scrapyd-deploy.bat файл:

@echo off
c:\Python27\python c:\Python27\Scripts\scrapyd-deploy %*

Затем сохраните эти файлы и перезапустите cmd.

Если у вас есть C:\Python27\Python а также C:\Python27\Scripts в вашем PATH тогда обе команды scrapy а также scrapyd-deploy должно сработать.

Ответ Марцина Рапаца сработал для меня. Тем не менее, я использую anaconda для управления своей библиотекой python. Таким образом, файлы должны находиться в "C:\Program Files (x86)\Anaconda3\Scripts", а содержимое в файлах должно быть изменено следующим образом:

@echo off
"C:\Program Files (x86)\Anaconda3\python.exe" "C:\Program Files 
(x86)\Anaconda3\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
Другие вопросы по тегам