我有一個任務,我必須用 Scrapy 抓取一些網站。我還必須使用 Django 刪除和編輯一些 URL。我想使用 Django 3.1 和 Scrapy 2.3.0。我已經嘗試過 Django-dynamic-scraper 和 Djangoitem。由于一些版本問題,我無法使用它們。有一個類來執行 Django 命令的 call_commandcall_command('Scrapy crawl ../first_bot/first_bot/spider.py', stdout=out)但它僅適用于 Django 命令。當我點擊 Django 上的按鈕時,有沒有辦法執行 scrapy 模塊?
1 回答

斯蒂芬大帝
TA貢獻1827條經驗 獲得超8個贊
將代碼粘貼到 python 文件 start.py 中,并在 scrapy 目錄中使用此代碼。
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
process = CrawlerProcess(get_project_settings())
# var = name of spider
process.crawl(var)
process.start()
在 django 中運行 start.py 在這里使用你喜歡的代碼
import platform
import os
if plt == "Windows":
cwd = os.path.join("<path to file>", "start.py")
os.system('{} {}'.format('python', cwd))
elif plt == "Linux":
cwd = os.path.join("<path to file>", "start.py")
os.system('{} {}'.format('python3', cwd))
添加回答
舉報
0/150
提交
取消