我试图用Scrapy在MySQL中保存废弃的条目,我的代码在scrapy0.24中运行得很有魅力,尽管在1.0.1中我有MySQL错误,我不知道它们是从哪里来的。在
我的管道的一部分:def process_item(self, item, spider):
if item['date'] != "":
try:
sql = ("INSERT INTO "+item['tablename']+" VALUES (%s, %s, %s, %s, %s, %s)")
self.cursor.execute(sql,
(
item['id'],
item['title'],
item['link'],
item['body'],
item['date'],
json.dumps(item['images'])
))
self.conn.commit()
except MySQLdb.Error, e:
print "************** Error ************"
print "Error %d: %s" % (e.args[0], e.args[1])
print "************** End ************"
return item
我的插入示例值:
^{pr2}$
输出错误:************** Error ************
Error 1064: You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
'), 'http://www.example.com/178400/xxxxxx-xxxx-xxxx-xxx-xx.aspx' at line 1
************** End ************
通过在终端中按执行查询的方式打印查询,我得到:INSERT INTO tablename VALUES (1245845410931227995499360226027473197403882391305,
("\'lorem Ipsum\'",),
'http://www.example.com/178400/xxxxxx-xxxx-xxxx-xxx-xx.aspx',
(),
(),
'[]')",
我想加上了逗号','虽然我不知道为什么或者怎么修复它。任何帮助,如果需要,我可以提供任何额外的信息。在
******编辑*****
在我将%s更改为从“%s”到“?”的值后我得到了另一个错误TypeError: not all arguments converted during string formatting
on the line : json.dumps(item['images'])