我有一个独立的Python-Selenium机器人,它可以模拟外部网站中的用户交互。我想将网站上的一些详细信息写到数据库中。因此,我喜欢将现有的bot集成到Django框架中,以使写入数据库更加容易。
我想知道是否可以将此独立项目集成到Django中。如果是,我想知道如何触发该机器人。
答案 0 :(得分:0)
您可以根据自己的喜好触发机器人,例如通过cron工作。但是,有几件事情要考虑。首先,您的漫游器需要在与Django项目相同的虚拟环境中运行。其次,您的Django项目根目录必须在sys.path
中可用。像这样:
import os
import sys
import django
sys.path.append('/path/to/your/django-project-root')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings')
django.setup()
# Do your stuff, e.g:
from my_app.models import MyModel
value1, value2 = get_data_from_somewhere()
MyModel.objects.create(param1=value1, param2=value2)
运行django.setup()
后,您可以在Django项目的上下文中执行任何代码,包括通过模型API保存数据,如上例所示。