我有擦傷一個網站,並寫入到MySQL的Python + Scrapy + MySQL的utf8編碼錯誤
一個scrapy代碼import MySQLdb.cursors
def __init__(self,stats):
self.dbpool = adbapi.ConnectionPool(<dbnam>,host=<host>,user=<user>,port=<port>,passwd=<pwd>, db=<dbname>, cursorclass=MySQLdb.cursors.DictCursor, charset='utf8', use_unicode=True)
def process_item(self, item, spider):
query = self.dbpool.runInteraction(self._conditional_insert, item)
query.addErrback(self.handle_error)
Scrapy腳本數字表列表
item['numbers'] = sites.xpath('//*[@id="numbers-0"]/tbody/tr/td/text()').extract()
我刮以下內容:10「11」12「等我的代碼返回以下內容:
'numbers': [u'10\u2033', u'11\u2033', u'12\u2033'],
將此插入到MySQL數據庫拋出一個錯誤消息 - 我猜是由於unicode問題。
tx.execute("""INSERT INTO numbers ('{0}').format(", ".join(item['numbers'])))
請問您能否幫助插入成功。更好的是,如何從列表中刪除特殊字符'\ u2033'?
在此先感謝!
你使用的是Python 2還是3? –
2.7.11感謝Bernard對此進行研究! – user6055239
不用擔心,你會介意嘗試使用[PyMySQL](https://github.com/PyMySQL/PyMySQL)而不是MySQL連接器嗎? –