Web scraping 未定义刮痕项目

Web scraping 未定义刮痕项目,web-scraping,scrapy,scrapy-spider,Web Scraping,Scrapy,Scrapy Spider,我正在写一个爬虫程序从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, resp

我正在写一个爬虫程序从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是我的项目名称),但它没有帮助。这将导致如下错误:
没有模块命名项

有谁能帮我弄清楚怎么处理这个问题吗?谢谢

使用

from hw1.yelpItem import YelpItem
因为当您尝试从hw1.items中执行
操作时,您引用的是
items.py
文件,但是您的
YelpItem
位于
YelpItem.py
文件中,您还必须更新导入路径


您可以阅读背景资料,了解原因。

非常感谢!虽然我通过将项目文件的名称改回items.py解决了这个问题