我在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 裡用上面語句測試了一下:輸出 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
以正常的邏輯在 spiders.py裡定義了: item = ZbaqcnItem()
該導入的都導了.那在pipilines.py. 應該是真的啊?
我在anspiders.py裡這樣導入:
from aqccncn.items import AnItem
總是提示出錯. ImportError: No module named items
在網路上搜了半天也沒找到可行的解決方法.
只好用下面的方法.
用from items import AnItem 這樣導入的.
是這裡的原因?
最後--------------------------------
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 也在裡面加入了對應的程式碼.