2015-03-04 2 views
0

У меня есть Scrapy паук на этом пути:Scrapy Сценарий вызывается через shell_exec не выполняет

define("SPIDER_PATH", "C:\\Users\\[USERNAME]\\test1\\test1\\spiders\\test.py"); 

Теперь, когда я пытаюсь запустить скрипт с помощью PHP:

if (is_numeric(filter_input(INPUT_POST, "reload"))) { 
    $additional = " -a check=" . filter_input(INPUT_POST, "reload"); 

} 
echo shell_exec("scrapy runspider " . SPIDER_PATH . $additional); 

Но ничего не происходит, и там ничего не отразилось на shell_exec.

Я тестировал его на локальной машине, используя wamp.

Может ли кто-нибудь мне помочь?

Переменные Enviroment установлены правильно (по крайней мере, я могу назвать точно так же, команда с помощью Windows, cmd.exe

ответ

1

Вы не можете запустить Scrapy через PHP, как вы это делаете.

Что вам нужно scrapyd .

https://scrapyd.readthedocs.org/en/latest/install.html

После установки его иди Scrapy папку проекта:. C: \ Users \ [USERNAME] \ test1 \

Создать/отредактировать scrapy.cfg файл с содержимым:

[settings] 
default = crawler.settings 

[deploy] 
url = http://localhost:6800/ 
project = crawler 

запустить команду

scrapyd-deploy -l 

, которые будут перечислены ваши доступные цели:

default    http://localhost:6800/ 

теперь вам нужно развернуть проект:

scrapyd-deploy default -p test1 

Более подробная информации о развертывании проекта: https://scrapyd.readthedocs.org/en/latest/deploy.html

Когда проект развернут вы можете ГРАФИК паука с завитком запросом:

curl http://localhost:6800/schedule.json -d project=test1 -d spider=test 

Больше на scrapyd API: https://scrapyd.readthedocs.org/en/latest/api.html

1

Вам нужно сначала позвоните chdir().

chdir("C:\\Users\\[USERNAME]\\test1\\test1\\spiders\\test.py"); 
echo shell_exec("scrapy runspider " . $additional); 
Смежные вопросы