I defined AnItem in items
It is also defined in spider.py using item = AnItem().
Why the above: if isinstance(item, AnItem): What follows this sentence will not be executed.
Explanation: if isinstance(item, AnItem): It is false, I don’t know why?
I look at other people’s code. There are also examples on the Internet that are written like this
I don’t know what I wrote wrong?
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')
Tested it using the above statement in pipelines.py: output jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
I don’t know what went wrong.
According to normal logic, it is defined in spiders.py: item = ZbaqcnItem()
Everything that should be imported is imported. Then it's in pipelines.py. It should be true?
Now I feel that there should be a problem with the import item?
I import like this in anspiders.py:
from aqccncn.items import AnItem
Always prompt an error. ImportError: No module named items
I searched online for a long time and couldn’t find a feasible solution.
Have no choice but to use the following method.
Then I created items.py in the spiders file
I imported it using from items import AnItem.
Then the later if isinstance(item, AnItem): is False.
Is this the reason?
Finally——————————————————————————————————————————————
Modified at 2016/04/29 18:04:
——————————————————————————————
Thank you all. Already solved. It turns out that at the beginning, from aaaa.items import AnItem always prompted an error. I created an items.py in the spiders file again, so the imported items.py is not the same, so the AnItem() is not the same either.
But there is another question:
If you create the items.py file in the same directory as the settgins.py file in the spiders folder. Why import like this: from AnAnAn.items import AnItem will prompt: ImportError: No module named AnAnAn.items?
In the AnAnAn folder, there is obviously the items.py generated by default, and the corresponding code is added to it.
What’s the problem with this? Thank you.