gpt4 book ai didi

python - InterfaceError :(sqlte3. InterfaceError)绑定(bind)参数0时出错

转载 作者:行者123 更新时间:2023-12-03 02:27:22 24 4
gpt4 key购买 nike

最近,我使用Python和Scrapy从博客中爬取“标题”等文章信息。不使用数据库,结果很好/符合预期。但是,当我使用 SQLalchemy 时,我收到以下错误:

InterfaceError:(sqlite3.InterfaceError)Error binding parameter 0 -probably unsupported type.[SQL:u'INSERT INTO myblog(title) VALUES (?)'] [PARAMETERS:([u'\r\n Accelerated c++\u5b66\u4e60
chapter3 -----\u4f7f\u7528\u6279\u636e \r\n '],)]

我的xpath表达式是:
item['title'] = sel.xpath('//*[@class="link_title"]/a/text()').extract()

这为我提供了以下 item['title'] 值:
[u'\r\n 加速 c++\u5b66\u4e60 Chapter3 -----\u4f7f\u7528\u6279\u636e\r\n ']

都是unicode,为什么sqlite3不支持呢?该博客的标题信息包含一些中文。我厌倦了 sqlalchemy。我引用了它的文档,但一无所获,我没有主意了。

最佳答案

您遇到的问题是 SQLite3 需要“String”数据类型,而您传入​​的列表中包含 unicode 字符串。

更改:
item['title'] = sel.xpath('//*[@class="link_title"]/a/text()').extract()

item['title'] = sel.xpath('//*[@class="link_title"]/a/text()').extract()[0]

您将留下一个要插入的字符串,并且您的 SQLite3 错误应该消失。但请注意,如果您想要处理多个游戏,这将限制您只能使用第一个。不过,您可以使用任何您想要的方法来说服它们成为字符串。

关于python - InterfaceError :(sqlte3. InterfaceError)绑定(bind)参数0时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32460120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com