【发布时间】:2014-03-22 03:32:28
【问题描述】:
我正在使用scrapy抓取信息并存储到mysql中。
一些相关代码是:
def _conditional_insert(self, tx, item):
if item.get('app_name'):
tx.execute("""
insert into af_appinfo (app_name, app_size, app_data_install, app_icon_url, app_download_url, app_desc)
values (%s, %s, %s, %s, %s, %s)""",
(item['app_name'], item['app_size'], item['app_data_install'], item['icon_url'],item['app_url'], item['app_desc']))
item的定义是:
from scrapy.item import Item, Field
class WdjcrawlItem(Item):
icon_url = Field()
app_url = Field()
app_name = Field()
app_desc = Field()
app_size = Field()
app_data_install = Field()
爬虫运行良好。但是使用 mysql 时会引发异常。异常信息是:
_mysql_exceptions.OperationalError: (1241, 'Operand should contain 1 columns)
这个查询有什么错误吗?
【问题讨论】:
-
您能在执行发生之前显示
item的值吗?另外,请提供describe af_appinfo的结果。 -
@alecxe 我已经修改了问题。
-
我的意思是在错误发生之前
item的值是多少?