Невозможно импортировать items.py в пауке-скрапе - PullRequest
0 голосов
/ 09 июля 2019

Я не могу запустить своего паука, используя команду оболочки "scrapy crawl kbb", из-за ошибки при поиске модуля моих предметов.

Путь к моей папке соответствует стандартной ориентации scrapy.

# -*- coding: utf-8 -*-
import scrapy
from scrapy.loader import ItemLoader
from kbb.items import KelleyItem


class KbbSpider(scrapy.Spider):
    name = 'kbb'
    allowed_domains = ['kbb.com']
    start_urls = ['https://www.kbb.com/cars-for-sale/cars/?distance=75']

    def parse(self, response):
        l = ItemLoader(item=Product(), response=response)
        l.xpath('Title','//div[@class="listings-container-redesign"]/div/div/a/text()').extract()
        l.xpath('Price','//div[@class="listings-container-redesign"]/div/div/div/div/span/text()').extract()
        return l.load_item()

items.py:

# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# https://doc.scrapy.org/en/latest/topics/items.html

import scrapy


class KelleyItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    title = scrapy.Field()
    price = scrapy.Field()

При выполнении этого с помощью команды оболочки "scrapy crawl kbb" я получаю следующую ошибку: "ModuleNotFoundError: Нет модуля с именем kbb"

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Если ваш проект использует стандартную структуру папок scrapy, вы можете использовать это:

from ..items import KelleyItem

См. Относительный импорт в Python

0 голосов
/ 09 июля 2019
from items import KelleyItem

Попробуйте это.

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