我有一个任务,我必须用 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
提交
取消