插入数据库时,'\\'instancemethod\\' object is not iterable'的错误

来源:7-8 职位信息入库-2

Brook_StudyMachine

2017-04-21

http://szimg.mukewang.com/58f8ece40001eb0210990427.jpg

请问老师这种错误是什么?

检查了半天也没找到问题

用单步在query.addErrback(self.handle_error, item, spider)一通跳,里面代码特别多,也看不懂。


用zhihu插入是没问题的


------------4.21更新-------------

http://szimg.mukewang.com/58fa34ca000128fb10850499.jpg

到这里,看到query里面的_callbacks是空的,是这里的问题吗?

---------4.22-----

终于搞定了,原来是我的Item类的方法get_insert_sql,没有加@property。

-------在更新------

终于搞懂了,原来是这样的

我在

insert_sql, params = item.get_insert_sql

没有加括号,所以把get_insert_sql方法当作属性来调用了,所以会报错。

所以后面加()作为方法调用,或声明方法之前,加@property,让方法可作为属性调用

都可以解决问题

写回答

1回答

bobby

2017-04-21

你在对一个不能进行for循环的地方循环了,你看看你for循环的地方 对象是不是一个可以进行for循环的对象

0
5
Brook_StudyMachine
非常感谢!
2017-04-22
共5条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5831 学习 · 6293 问题

查看课程