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
文件,但您的 YelpItem
在 yelpItem.py
文件中,您也必须更新导入路径。
您可以了解为什么如此的背景 here。
我正在编写一个爬虫程序以从 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
文件,但您的 YelpItem
在 yelpItem.py
文件中,您也必须更新导入路径。
您可以了解为什么如此的背景 here。