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
Is it true or false? Can’t you output it to see?
if isinstance(item, AnItem):
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.