Web scraping 未定义刮痕项目
我正在写一个爬虫程序从Yelp那里获取一些页面。我对Yelp项的定义如下: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
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解决了这个问题