scrapy 导入废品错误:未找到模块

idv4meu8  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(151)

我是Scrapy和python的新手,当我尝试从www.example.com导入VS代码中的类时,我得到了以下错误:items.py in VS Code I get the following error:

Exception has occurred: ModuleNotFoundError
No module named 'scraper.items'; 'scraper' is not a package

我的文件夹结构:Folder structure
教程我试图遵循:https://www.youtube.com/watch?v=wyE4oDxScfE

    • scraper.py**代码:
import scrapy
from scrapy.crawler import CrawlerProcess
from scrapy.loader import ItemLoader
from scraper.items import ScraperItem

class ScrapySpider(scrapy.Spider):
    name = 'scraper'

def start_requests(self):
    yield scrapy.Request('https://www.thewhiskyexchange.com/c/639/bourbon-whiskey')
    
def parse(self, response):
    Item = ScraperItem()
    products = response.css('li.product-grid__item')
    
    for item in products:
        
            Item['name'] = item.css('p.product-card__name::text').get().strip(),
            Item['price'] = item.css('p.product-card__price::text').get().strip().replace('£', ''),
            Item['perL'] = item.css('p.product-card__unit-price::text').get().strip().replace('per litre', 'per L').replace('(', '').replace(')', '')
            
            yield item
        
    for x in range(2, 7):
        yield(scrapy.Request(f'https://www.thewhiskyexchange.com/c/639/bourbon-whiskey?pg={x}', callback=self.parse))

process = CrawlerProcess(settings = {
    'FEED_URI': 'whiskey.csv',
    'FEED_FORMAT': 'csv'
})

process.crawl(ScrapySpider)
process.start()
    • 项目. py**代码:
import scrapy

class ScraperItem(scrapy.Item):
    name = scrapy.Field()
    price = scrapy.Field()
    perL = scrapy.Field()

当我使用:

..items import ScraperItem

我得到同样的错误

tcomlyy6

tcomlyy61#

导入需要相对于执行目录。2我的猜测是scraper.scraper.item将工作。

相关问题