因此,我目前正在研究Amazon API。
amazon = AmazonAPI('mykey', 'mykey', 'bmykey')
products = amazon.search(SearchIndex='Beauty',
ResponseGroup='ItemAttributes,OfferFull,OfferListings,Offers,SalesRank,OfferSummary',
Sort='salesrank', BrowseNode='3777891') 我正在尝试将结果的某些部分保存到数据库中
返回的类型
<class 'amazon.api.AmazonSearch'>当我运行以下代码时
for p in products:
print(p.asin) 结果如下所示
B004B8AZH0
B00XTAFYKY
B0014P8L9W
B00QZ67ODE
B00ARF42H0
B011YRJ31O 我正在尝试将此结果传递给数据库。
表字段-
(INT(11)) id
(VARCHAR(255)) ASIN
由于某些原因,我似乎无法将结果传递到数据库中。这是我尝试过的
cur = db.cursor()
for p in products:
print(p.asin)
add = """INSERT INTO products(ASIN) VALUES(%s)"""
cur.execute(add, p.asin)
db.commit()
cur.close()
db.close() 但回报是
query = query % args
TypeError: not all arguments converted during string formatting 尝试运行str(p.asin),但得到相同的错误。
我试过了
Cur.execute(“插入到产品(ASIN)值(%s)”% p.asin)
但我得到了
_mysql_exceptions.OperationalError: (1054, "Unknown column 'B004B8AZH0' in 'field list'")还有没有其他的建议可以试试?我似乎想不通了。
发布于 2017-02-16 10:04:40
您要查找的cursor.execute方法有两个参数:
%s)的查询字符串。不要在要使用的值的placeholder.您传递的是一个字符串,这意味着execute尝试使用字符串的每个字符作为值。因此,简单地将你的论点放在一个列表中:
cur.execute(your_query, [p.asin])如果您自己进行格式化,则会引入sql注入漏洞。
https://stackoverflow.com/questions/42262691
复制相似问题