python - 為什麼程式執行到這裡就停了:if isinstance(item, AnItem): 這句明明是真,到這裡就不執行了
漂亮男人
漂亮男人 2017-05-18 10:57:41
0
2
867

我在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
漂亮男人
漂亮男人

全部回覆(2)
过去多啦不再A梦

是真是假,不能輸出來看看嘛?

習慣沉默

if isinstance(item, AnItem):

    print ('zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz')
else:
    print ('jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj')

在pipilines.py 裡用上面語句測試了一下:輸出 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
以正常的邏輯在 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 也在裡面加入了對應的程式碼.

這又是哪裡有問題? 多謝.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!