我正在做一个项目,其中 url 被放入一个名为 .django 的 Django 模型UrlItems
中。包含的 models.py 文件UrlItems
位于home
应用程序中。scrapy startproject scraper
我在与 models.py 文件相同的目录中键入。请查看此图片以更好地了解我的 Django 项目结构。
我了解如何从我的爬虫中创建新 UrlItems
的,但是如果我的目标是获取并迭代我的 Django 项目在我的蜘蛛函数中存在的内容呢? UrlItems
def start_requests(self)
我试过的:
1)我按照this question中的标记解决方案尝试查看我创建的是否DjangoItem
已经UrlItem
加载了s。我尝试UrlItemDjangoItem.objects.all()
在我的蜘蛛start_requests
函数中使用并意识到我无法以UrlItem
这种方式检索我的 Django 项目。
2)在我的蜘蛛中,我尝试UrlItem
像这样导入我的 s from ...models import UrlItem
,但我收到了这个错误ValueError: attempted relative import beyond top-level package
。
更新
经过一番考虑,我最终可能会让 Scrapy 蜘蛛查询我的 Django 应用程序的 API 以接收 JSON 中现有 Django 对象的列表。