Я не могу загрузить scrapy предметов в scrapy spiders. Вот моя структура проекта:
-rosen
.log
.scrapers
..scrapers
...spiders
....__init__.py
....exampleSpider.py
...__init__.py
...items.py
...middlewares.py
...pipelines.py
...settings.py
.src
..__init__.py
..otherStuff.py
.tmp
Эта структура была создана с использованием scrapy startproject scrapers
внутри rosen
проекта (каталога).
Теперь items.py
имеет следующий код :
import scrapy
from Decimal import Decimal
class someItem(scrapy.Item):
title: str = scrapy.Field(serializer=str)
bid: Decimal = scrapy.Field(serializer=Decimal)
И exampleSpider.py
имеет следующий код:
import scrapy
from __future__ import absolute_import
from scrapy.loader import ItemLoader
from scrapers.scrapers.items import someItem
class someSpider(scrapy.Spider):
name = "some"
def __init__(self, **kwargs):
super().__init__(**kwargs)
self._some_fields = someItem()
def parse(self, response) -> None:
some_loader = ItemLoader(item=self._some_fields, response=response)
print(self._some_fields.keys())
Я получаю следующую ошибку: runspider: error: Unable to load 'someSpider.py': No module named 'scrapers.scrapers'
Я нашел Scrapy: ImportError: Ни один модуль не назвал элементы и перепробовал все три решения, переименовав и добавив from __future__ import absolute_import
. Ничего не помогает Пожалуйста, совет.
Команда , которую я выполняю, - scrapy runspider exampleSpider.py
. Я попробовал это из каталогов spiders
и rosen
.