Scrapy 项目未定义

Scrapy Item Not Defined

我正在编写一个爬虫程序以从 Yelp 获取一些页面。我这样定义 Yelp 项:

yelpItem.py:

import scrapy

class YelpItem(scrapy.Item):
    # define the fields for your item here like:
    name = scrapy.Field()
    link = scrapy.Field()

在 spider 文件夹中,我在 parse 函数中使用 YelpItem

def parse(self, response):
    hxs = HtmlXPathSelector(response)
    sites = hxs.select('//h3/span/a[contains(@class, "biz-name")]')
    items = []
    for site in sites:
        item = YelpItem()

当运行它时,它表示:

NameError: global name 'YelpItem' is not defined

我搜索了几个网页,并尝试添加如下代码:

from hw1.items import YelpItem

(hw1 是我的项目名称),但它没有帮助。这将导致如下错误:No module named items

谁能帮我弄清楚如何处理这个问题?谢谢!

使用

from hw1.yelpItem import YelpItem

因为当您尝试 from hw1.items 时,您引用的是 items.py 文件,但您的 YelpItemyelpItem.py 文件中,您也必须更新导入路径。

您可以了解为什么如此的背景 here