我在items 里定义了 AnItem
也在spider.py里用 item = AnItem() 定义了.
为什么上面的:if isinstance(item, AnItem): 这句后面的就不执行了.
说明:if isinstance(item, AnItem): 是假, 不知道为什么?
我看别人的代码.还有网上的例子都是这样写的
不知道我写的哪里不对?
class AnPipeline(object):
def process_item(self, item, spider):
print ('process_item1111111111111111111111111111')
if isinstance(item, AnItem):
print ('process_item222222222222222222222222222')
title = item['title']
content = item['content']
Sql.insert_data_all(title, content)
print (u'存完一条信息aaaaaaaaaaaa')
return item
習慣沉默2017-05-18 10:59:41
if isinstance(item, AnItem):
print ('zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz')
else:
print ('jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj')
在pipilines.py 里用上面语句测试了一下:输出 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
不知道哪里出了问题了.
按正常的逻辑在 spiders.py里定义了: item = ZbaqcnItem()
该导入的都导了.那在在pipilines.py. 应该是真的啊?
现在我感觉应该是import item 有问题?
我在anspiders.py里这样导入:
from aqccncn.items import AnItem
总是提示出错.ImportError: No module named items
在网上搜了半天也没找到可行的解决办法.
只好用下面的方法.
然后我在spiders 文件里建了个items.py
用from items import AnItem 这样导入的.
然后就出现后来的if isinstance(item, AnItem): 是False了.
难道是这里的原因?
最后--------------------------------
2016/04/29 18:04修改:
-----------------------
多谢各位.已经解决.原来刚开始的时候from aaaa.items import AnItem 总是提示出错.我又在spiders 文件里建了一个items.py 这样在导入的不是同一个items.py 所以那个AnItem() 也不是同一个.
但是还有一个问题:
如果是在 与 spiders 文件夹 settgins.py 文件同级的目录里建 items.py 文件.为什么这样导入: from AnAnAn.items import AnItem 就会提示:ImportError:No module named AnAnAn.items 这提示?
在 AnAnAn 文件夹里明明有默认生成的那个 items.py 也在里面添加了相应的代码.
这又是哪里有问题? 多谢.