gpt4 book ai didi

python - 如何在 Scrapy 我的项目的 items.py 中添加 Django_app.models

转载 作者:太空宇宙 更新时间:2023-11-04 00:58:05 25 4
gpt4 key购买 nike

我的文件结构,django 文件夹(mysite)和 scrapy 文件夹(intex)都在同一个目录中。

| mysite (django folder)
| mysite
| settings.py
| urls.py
| polls
| admin.py
| models.py
| db.sqlite3
| manage.py

| intex (scrapy folder)
| intex
| spider
| spiders.py
| items.py

这是我的 models.py 文件:

from django.db import models

class ServiceCenters(models.Model):

brand_name = models.CharField(max_length=50,blank=True,default='')

service_centre_city = models.CharField(max_length=50,blank=True,default='')

这是我的 items.py 文件:

import scrapy
from scrapy_djangoitem import DjangoItem
from scrapy.item import Item, Field
from polls.models import ServiceCenters

class IntexItem(DjangoItem):
django_model = ServiceCenters

我想将我的数据保存到 django 服务器中,当我运行这段代码时 scrapy crawl scrawl_name我收到此错误:

from polls.models import ServiceCenters
ImportError: No module named polls.models

最佳答案

您需要告诉 python 在哪里可以找到 polls.models 模块。首先,您需要将包含您的 django 应用程序的文件夹添加到 PYTHONPATH,其次,配置 django 以便能够访问您的模型。

这是实现此目的的代码片段:

import os
import sys
import django

sys.path.append('...absolute path to mysite...')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
django.setup()

此代码需要在您导入模型之前运行,我的意思是,在行之前:

from polls.models import ServiceCenters

希望对你有帮助

关于python - 如何在 Scrapy 我的项目的 items.py 中添加 Django_app.models,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34128362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com