与DjangoItem的Scrapy集成产生错误

与DjangoItem的Scrapy集成产生错误,django,scrapy,Django,Scrapy,我正试着用DjangoItem来让自己发痒。当我运行爬行爬行器时,会出现“ExampleDotComItem不支持字段:title”错误。我已经创建了多个项目,并试图让它工作,但总是得到相同的错误。我找到了教程并下载了源代码,运行之后;我得到了同样的错误: 回溯(最近一次呼叫最后一次): 文件“c:\programdata\anaconda3\lib\site packages\twisted\internet\defer.py”,第654行,在runCallbacks中 current.res

我正试着用DjangoItem来让自己发痒。当我运行爬行爬行器时,会出现“ExampleDotComItem不支持字段:title”错误。我已经创建了多个项目,并试图让它工作,但总是得到相同的错误。我找到了教程并下载了源代码,运行之后;我得到了同样的错误:

回溯(最近一次呼叫最后一次):
文件“c:\programdata\anaconda3\lib\site packages\twisted\internet\defer.py”,第654行,在runCallbacks中 current.result=回调(current.result,*args,**kw) 文件“C:\Users\A\Desktop\djang1.7-scrapy1.0.3-master\example\u bot\example\u bot\spiders\example.py”,第12行,在parse中 返回ExampleDotComItem(title=title,description=description) 文件“c:\programdata\anaconda3\lib\site packages\scrapy\u djangoitem\u_init\u_.py”,第29行,在init 超级(DjangoItem,self)。init(*args,**kwargs)
文件“c:\programdata\anaconda3\lib\site packages\scrapy\item.py”,第56行,在init self[k]=v
文件“c:\programdata\anaconda3\lib\site packages\scrapy\item.py”,第66行, 在设置项中 (self.名称,键))键错误:“ExampledToComItem不支持字段:title”

项目结构:

├───django1.7-scrapy1.0.3-master
   ├───example_bot
   │   └───example_bot
   │       ├───spiders
   │       │   └───__pycache__
   │       └───__pycache__
   └───example_project
       ├───app
       │   ├───migrations
       │   │   └───__pycache__
       │   └───__pycache__
       └───example_project
           └───__pycache__
我的Django型号:

from django.db import models

class ExampleDotCom(models.Model):
    title = models.CharField(max_length=255)
    description = models.CharField(max_length=255)

    def __str__(self):
        return self.title
我的“示例”蜘蛛:

Items.py:

from scrapy_djangoitem import DjangoItem
from app.models import ExampleDotCom

class ExampleDotComItem(DjangoItem):
    django_model = ExampleDotCom
class ExPipeline(object):
    def process_item(self, item, spider):
        print(item)
        item.save()
        return item
import os
import sys

DJANGO_PROJECT_PATH = '/Users/A/DESKTOP/django1.7-scrapy1.0.3-master/example_project'
DJANGO_SETTINGS_MODULE = 'example_project.settings' #Assuming your django application's name is example_project

sys.path.insert(0, DJANGO_PROJECT_PATH)
os.environ['DJANGO_SETTINGS_MODULE'] = DJANGO_SETTINGS_MODULE
BOT_NAME = 'example_bot'



import django
django.setup()
SPIDER_MODULES = ['example_bot.spiders']

ITEM_PIPELINES = {
    'example_bot.pipelines.ExPipeline': 1000,
}
管道。py:

from scrapy_djangoitem import DjangoItem
from app.models import ExampleDotCom

class ExampleDotComItem(DjangoItem):
    django_model = ExampleDotCom
class ExPipeline(object):
    def process_item(self, item, spider):
        print(item)
        item.save()
        return item
import os
import sys

DJANGO_PROJECT_PATH = '/Users/A/DESKTOP/django1.7-scrapy1.0.3-master/example_project'
DJANGO_SETTINGS_MODULE = 'example_project.settings' #Assuming your django application's name is example_project

sys.path.insert(0, DJANGO_PROJECT_PATH)
os.environ['DJANGO_SETTINGS_MODULE'] = DJANGO_SETTINGS_MODULE
BOT_NAME = 'example_bot'



import django
django.setup()
SPIDER_MODULES = ['example_bot.spiders']

ITEM_PIPELINES = {
    'example_bot.pipelines.ExPipeline': 1000,
}
设置。py:

from scrapy_djangoitem import DjangoItem
from app.models import ExampleDotCom

class ExampleDotComItem(DjangoItem):
    django_model = ExampleDotCom
class ExPipeline(object):
    def process_item(self, item, spider):
        print(item)
        item.save()
        return item
import os
import sys

DJANGO_PROJECT_PATH = '/Users/A/DESKTOP/django1.7-scrapy1.0.3-master/example_project'
DJANGO_SETTINGS_MODULE = 'example_project.settings' #Assuming your django application's name is example_project

sys.path.insert(0, DJANGO_PROJECT_PATH)
os.environ['DJANGO_SETTINGS_MODULE'] = DJANGO_SETTINGS_MODULE
BOT_NAME = 'example_bot'



import django
django.setup()
SPIDER_MODULES = ['example_bot.spiders']

ITEM_PIPELINES = {
    'example_bot.pipelines.ExPipeline': 1000,
}

你能展示一下你的Django模型吗?这很可能是因为
title
未在
ExampleDotCom
模型上定义

如果有,也许您需要运行Django迁移