在这里,我创建了一个在 django 中使用 scrapy 的示例项目。并在其中一个管道中使用 Django 模型和 ORM。
https://github.com/bipul21/scrapy_django
目录结构从您的 django 项目开始。在这种情况下,项目名称是django_project。进入基础项目后,您将在此处创建您的 scrapy 项目,即scrapy_project
在您的scrapy项目设置中添加以下行以设置初始化django
import os
import sys
import django
sys.path.append(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), ".."))
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'
django.setup()
在管道中,我对问题模型进行了简单查询
from questions.models import Questions
class ScrapyProjectPipeline(object):
def process_item(self, item, spider):
try:
question = Questions.objects.get(identifier=item["identifier"])
print "Question already exist"
return item
except Questions.DoesNotExist:
pass
question = Questions()
question.identifier = item["identifier"]
question.title = item["title"]
question.url = item["url"]
question.save()
return item
您可以签入项目以获取更多详细信息,例如模型架构。