[英]Scrapy Script called via shell_exec doesn't perform
我在這條路上有一只沙啞的蜘蛛:
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的本地計算機上對其進行了測試。
誰能幫我?
正確設置了環境變量(至少我可以通過Windows cmd.exe調用完全相同的命令
您不能通過PHP的方式運行scrapy。
您需要的是拼湊的。
https://scrapyd.readthedocs.org/en/latest/install.html
安裝后。 進入您的項目目錄: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請求的蜘蛛:
curl http://localhost:6800/schedule.json -d project=test1 -d spider=test
有關scrapyd API的更多信息: https ://scrapyd.readthedocs.org/en/latest/api.html
您需要先調用chdir()
。
chdir("C:\\Users\\[USERNAME]\\test1\\test1\\spiders\\test.py");
echo shell_exec("scrapy runspider " . $additional);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.