#这是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了。是要修改数据库配置文件嘛,在哪改呢....
python在网页上爬取数据然后输入mysql,python中直接输出是中文,在mysql的表中打开变成乱码了。
答案:2 悬赏:20 手机版
解决时间 2021-01-30 12:51
- 提问者网友:相思似海深
- 2021-01-30 07:48
最佳答案
- 五星知识达人网友:青尢
- 2021-01-30 08:02
你如果是用 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()
全部回答
- 1楼网友:千杯敬自由
- 2021-01-30 08:44
抓出来的数据转码
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯