如何用python提取数据库中的数据并写入文件,下载音频到本地。

#!/usr/bin/env python
# coding=utf-8


import pymysql as MySQLdb  # 这里是python3  如果你是python2.x的话,import MySQLdb
import time
import pathlib
import os
import urllib.request

host =''
user = ''
passwd = ''
port = 
db =''

#链接数据库
conn = MySQLdb.connect(host=host,
                       port=port,
                       user=user,
                       passwd=passwd,
                       db=db,
                       charset='utf8', )
cur = conn.cursor()
cur.execute("SELECT  Titlenum FROM TEXT WHERE Titlenum!=0 GROUP BY Titlenum")
alldata = cur.fetchall()

#将原文保存到文件中
for rec in alldata:
   # print(rec[0])
    cur1 = conn.cursor()
    sql = "SELECT  titlenum,sound,sentence FROM TEXT WHERE Titlenum=%s"
    para = str(rec[0])
    cur1.execute(sql, para)
    alldata1 = cur1.fetchall()
    url = 'http://static2.iyuba.cn/IELTS/'+str(alldata1[0][0])[0:6] +'/'+alldata1[0][1]
    with open(str(rec[0])+'.txt', 'w') as f:
        for ada in alldata1:
            f.write(ada[2].replace('£','$')+ '\n')

#将音频下载本地
    file_name = str(rec[0])
    fname = time.strftime("%Y%m%d", time.localtime())
    filepath = 'D:\pictures\ielts\\' + fname  # 按日期分文件夹
    if not os.path.exists(filepath):
        os.mkdir(filepath)
    picpath = filepath + '/%s.mp3' % file_name
    p = pathlib.Path(picpath)
    if not p.exists():
        urllib.request.urlretrieve(url, picpath)
        print(picpath, "下载完成。。")
    else:
        print(picpath, "已经下载。。")


cur.close()
conn.close()

你可能感兴趣的:(如何用python提取数据库中的数据并写入文件,下载音频到本地。)