Heim  >  Fragen und Antworten  >  Hauptteil

python - Warum stoppt die Ausführung des Programms an dieser Stelle: if isinstance(item, AnItem): Dieser Satz ist offensichtlich wahr, wird aber an dieser Stelle nicht ausgeführt.

Ich habe AnItem in items definiert

Es wird auch in Spider.py mit item = AnItem() definiert.

Warum das Obige: if isinstance(item, AnItem): Der folgende Satz wird nicht ausgeführt.

Erklärung: Wenn isinstance(item, AnItem): falsch ist, weiß ich nicht warum?

Ich schaue mir den Code anderer Leute an. Es gibt auch Beispiele im Internet, die so geschrieben sind

Ich weiß nicht, was ich falsch geschrieben habe?

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
漂亮男人漂亮男人2734 Tage vor873

Antworte allen(2)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-18 10:59:41

    是真是假,不能输出来看看嘛?

    Antwort
    0
  • 習慣沉默

    習慣沉默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 也在里面添加了相应的代码.

    这又是哪里有问题? 多谢.

    Antwort
    0
  • StornierenAntwort