Python 刮痧:';例外。键错误';爬行蜘蛛

Python 刮痧:';例外。键错误';爬行蜘蛛,python,regex,xpath,scrapy,Python,Regex,Xpath,Scrapy,我正在尝试在以下网站上删除所有相关字段,以便将所有数据加载到电子表格中: http://yellowpages.com.gh/Home.aspx? 我猜爬行蜘蛛就是我想要的,所以这就是我一直在努力构建的: 但是,在命令提示符下运行此命令时,我收到以下错误: exceptions.KeyError:“项目不支持字段:catLink” 发生此类错误的最可能原因是什么?它可能与我的XPath的格式有关吗?或者这可能与此spider与项目中的原始spider共享相同的items.py文件有关 My

我正在尝试在以下网站上删除所有相关字段,以便将所有数据加载到电子表格中:

http://yellowpages.com.gh/Home.aspx?
我猜爬行蜘蛛就是我想要的,所以这就是我一直在努力构建的:



但是,在命令提示符下运行此命令时,我收到以下错误:

exceptions.KeyError:“项目不支持字段:catLink”

发生此类错误的最可能原因是什么?它可能与我的XPath的格式有关吗?或者这可能与此spider与项目中的原始spider共享相同的items.py文件有关

My items.py代码如下:

# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html

from scrapy.item import Item, Field

class YellowghItem(Item):
    # define the fields for your item here like:
    # name = Field()
      catName = Field()
      catLink = Field()
      subcatText = Field()
      subcatLink = Field()
      company = Field()
      more = Field()
      address = Field()
      postAddress = Field()
      city = Field()
      region = Field()
      mobile = Field()
      emailtext = Field()
      emailLink = Field()
      webtext = Field()
      webLink = Field()

      #pass

这就是你看到错误的原因。您的
item.py
文件定义了类
YellowghItem
。此类具有类成员
catLink

但是在spider中,您并没有实例化这个类。而是实例化一个
Item()
类。我打赌在您的项目中还有另一个名为
Item
的类,它的成员没有定义
catLink

在spider中执行以下更改:

  • 将导入更改为从
    scrapy.item导入黄色ghitem
  • parse
    方法中,使用以下命令实例化此类的对象:

    item = YellowghItem()
    
尝试这些更改,我认为您将能够解决此错误


希望这能有所帮助。

下面是您看到错误的原因。您的
item.py
文件定义了类
YellowghItem
。此类具有类成员
catLink

但是在spider中,您并没有实例化这个类。而是实例化一个
Item()
类。我打赌在您的项目中还有另一个名为
Item
的类,它的成员没有定义
catLink

在spider中执行以下更改:

  • 将导入更改为从
    scrapy.item导入黄色ghitem
  • parse
    方法中,使用以下命令实例化此类的对象:

    item = YellowghItem()
    
尝试这些更改,我认为您将能够解决此错误


希望这有帮助。

向我们展示您的
项目
类别定义向我们展示您的
项目
类别定义