python - Pourquoi le programme s'arrête-t-il à ce stade : if isinstance(item, AnItem) : cette phrase est évidemment vraie, mais elle ne sera pas exécutée à ce stade.
漂亮男人
漂亮男人 2017-05-18 10:57:41
0
2
887

J'ai défini AnItem dans items

Il est également défini dans spider.py en utilisant item = AnItem().

Pourquoi ce qui précède : if isinstance(item, AnItem) : La phrase suivante ne sera pas exécutée.

Explication : if isinstance(item, AnItem) : est faux, je ne sais pas pourquoi ?

Je regarde le code des autres. Il existe également des exemples sur Internet qui s'écrivent ainsi

Je ne sais pas ce que j’ai mal écrit ?

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

répondre à tous(2)
过去多啦不再A梦

Est-ce vrai ou faux ? Vous ne pouvez pas le sortir pour voir ?

習慣沉默

if isinstance(item, AnItem):

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

Utilisez l'instruction ci-dessus dans pipelines.py pour la tester : sortie jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
Je ne sais pas ce qui n'a pas fonctionné.
Selon la logique normale, il est défini dans spiders.py : item = ZbaqcnItem()
Tout ce qui doit être importé est importé. Alors c'est dans pipelines.py. Cela devrait être vrai ?

Maintenant, j'ai l'impression qu'il devrait y avoir un problème avec l'article importé ?

Je l'ai importé comme ceci dans anspiders.py :
from aqccncn.items import AnItem
provoque toujours une erreur. ImportError : Aucun module nommé items
J'ai longtemps cherché en ligne et je n'ai pas trouvé de solution réalisable.
Je n'ai pas d'autre choix que d'utiliser la méthode suivante.

Ensuite, j'ai créé items.py dans le fichier spiders
Je l'ai importé en utilisant from items import AnItem.

Ensuite, le dernier if isinstance(item, AnItem): est False.

Est-ce la raison ?

Enfin———————————————————————————————————————————— —
Modifié le 29/04/2016 18:04 :

---------------------

Merci à tous. Déjà résolu. Il s'avère qu'au début, depuis aaaa.items, l'importation d'AnItem provoquait toujours une erreur. J'ai à nouveau créé un items.py dans le fichier spiders, donc le items.py importé n'est pas le même, donc le AnItem() n'est pas le même non plus.

Mais il reste encore une question :

Si vous créez le fichier items.py dans le même répertoire que le fichier settgins.py du dossier spiders. Pourquoi importer comme ceci : depuis AnAnAn.items, importer AnItem affichera : ImportError : Aucun module nommé AnAnAn.items ?
Dans le dossier AnAnAn, il y a évidemment le items.py généré par défaut, et le code correspondant y est ajouté.

Qu'est-ce qui ne va pas avec ça ? Merci.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal