Python from tutorial.items import DmozItem报错问题,,items.py文件#-
Python from tutorial.items import DmozItem报错问题,,items.py文件#-
items.py文件
#-*- coding: utf-8 -
import scrapy
class DmozItem (scrapy.Item):
title= scrapy.Field()
link=scrapy.Field()
desc=scrapy.Fieldd()
dmo_spider.py文件
import scrapy
from tutorial.items import DmozItem
class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["dmoz.org"]
start_urls = [
"http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
"http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
]
def parse(self, response):
for sel in response.xpath('//ul/li'):
item = DmozItem()
item['title']= sel.xpath('a/text()').extract()
item['ink'] = sel.xpath('a/@href').extract()
item['desc']= sel.xpath('text()').extract()
yield item
为什么在dmzo_spider.py文件加入
from tutorial.items import DmozItem
执行scrapy crawl dmoz -o items.json时会报错,
如果去掉的话就会有 item = DmozItem()
exceptions.NameError: global name 'DmozItem' is not defined
的报错
路径有问题,我的方法是
import syssys.path.append("..")
建议你把报错信息贴出来
我也是因为这个错误查到这里来的。我来贴一个,希望对后面看到的同学有用。
提示错误为你没有引入定义DmozItem()这个函数的文件!
在你的DEMOSPIDE.PY文件前面加上如下内容:
from tutorial.items import DmozItem or
from tutorial.items import *
终于搞明白了:project目录问题。
我使用的编辑器是eclipse,这个scrapy工程不能套在eclipse的工程里。
请问题主后来是怎样解决这个问题的
items.py加一句from scrapy.item import Item, Field
朋友 看下你的items.py的文件 里面的class的名字是什么?
教程里面的是TutorialItem 但是教程代码上让你引入的是DmozItem 所以 改下名字咯~
编橙之家文章,
相关内容
- 多行python print信息中,怎么能目标是哪个print输出的呢
- 求问嵌套问题,列表里边可以放字典类型的数据吗?,
- python如何才能实时获取tcpdump的输出,pythontcpdump,linux
- Python新手flask遇到500错误问题,python新手flask500,为什么
- Django做后台管理操作疑问,django后台管理,服务器使用的
- 想用python做个客户端,在二维码登录这个地方卡住了大家
- 我的python写入文件正常,打开后却是乱码格式为什么?
- 数据结构优化python将线性元祖转换成字典树的方法,结
- Python内建callable函数应用问题,pythoncallable,>Python ha
- 没有Python可以用Sublime text编辑器来运行Py文件吗?,,在一
评论关闭