Scrapy: не может загрузить предметы пауку - PullRequest
0 голосов
/ 11 апреля 2020

Я не могу загрузить 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...