python在网页上爬取数据然后输入mysql,python中直接输出是中文,在mysql的表中打开变成乱码了。
#这是python的代码:cont=urllib2.urlopen(url).read()rex=re.compile(r'\"tmall_vip_level\":(.*...
#这是python的代码:
cont=urllib2.urlopen(url).read()
rex=re.compile(r'\"tmall_vip_level\":(.*?)\,\"spuId\".*?\"sku\":(.*?)\,\"enableTime\".*?\"displayUserNick\":(.*?)\,\"displayUserNumId\".*?\"rateContent\":(.*?)\,\"rateDate\":(.*?)\,\"reply\"',re.S)
contents=rex.findall(cont)
for content in contents:
conn = MySQLdb.connect(host='127.0.0.1', user='root',passwd='19940513cc', db='pythonJD',port = 3306, charset = 'utf8')
cur = conn.cursor()
sql='INSERT INTO proxy(level,sku,user,content,date)values(%s,%s,%s,%s,%s)'
cur.execute(sql, (content[0],content[1].decode('gbk').encode('utf-8'),content[2].decode('gbk').encode('utf-8'),content[3].decode('gbk').encode('utf-8'),content[4]))
print 'success connect'
conn.commit()
cur.close()
conn.close()
mysql和python中所有的都设置为utf8了。是要修改数据库配置文件嘛,在哪改呢.... 展开
cont=urllib2.urlopen(url).read()
rex=re.compile(r'\"tmall_vip_level\":(.*?)\,\"spuId\".*?\"sku\":(.*?)\,\"enableTime\".*?\"displayUserNick\":(.*?)\,\"displayUserNumId\".*?\"rateContent\":(.*?)\,\"rateDate\":(.*?)\,\"reply\"',re.S)
contents=rex.findall(cont)
for content in contents:
conn = MySQLdb.connect(host='127.0.0.1', user='root',passwd='19940513cc', db='pythonJD',port = 3306, charset = 'utf8')
cur = conn.cursor()
sql='INSERT INTO proxy(level,sku,user,content,date)values(%s,%s,%s,%s,%s)'
cur.execute(sql, (content[0],content[1].decode('gbk').encode('utf-8'),content[2].decode('gbk').encode('utf-8'),content[3].decode('gbk').encode('utf-8'),content[4]))
print 'success connect'
conn.commit()
cur.close()
conn.close()
mysql和python中所有的都设置为utf8了。是要修改数据库配置文件嘛,在哪改呢.... 展开
展开全部
你如果是用 MySQLdb 操作的数据库,那么执行完sql语句后需要commit。例:
conn = MySQLdb.connect(user='xxx', db='xxx', passwd='xxx', host='127.0.0.1', use_unicode=True, charset='utf8')
cur = conn.cursor()
cur.execute('update table set xxx=xxx')
conn.commit()
cur.close()
conn.close()
conn = MySQLdb.connect(user='xxx', db='xxx', passwd='xxx', host='127.0.0.1', use_unicode=True, charset='utf8')
cur = conn.cursor()
cur.execute('update table set xxx=xxx')
conn.commit()
cur.close()
conn.close()
追问
conn.commit()么? 这个我写了的
展开全部
先把编码设置好:
conn = MySQLdb.connect(user='xxx', db='xxx', passwd='xxx', host='127.0.0.1', use_unicode=True, charset='utf8')
conn = MySQLdb.connect(user='xxx', db='xxx', passwd='xxx', host='127.0.0.1', use_unicode=True, charset='utf8')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询