千家信息网

python调用http接口,数据写入mysql数据库并下载录音文件

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,写个脚本一共完成了三件事:第一,python调用http接口,第二,把调用到的数据写入mysql数据库,第三,python调用wsdl接口,获取录音文件,import timeimport jsoni
千家信息网最后更新 2024年11月11日python调用http接口,数据写入mysql数据库并下载录音文件
写个脚本一共完成了三件事:第一,python调用http接口,第二,把调用到的数据写入mysql数据库,第三,python调用wsdl接口,获取录音文件,import timeimport jsonimport pprintimport MySQLdbimport urllibimport osimport urllib2 #调报表接口用import suds #调录音用pageNum = range(1,1000)for a in pageNum:    url = "http://x.x.x.x:xx/agentProxy/getCallDetail?RN=118117&callType=1&entId=xxxxx&pwd=61712&startTime=20170517000000&endTime=20170517235959&pageNum=" + str(a)    req = urllib2.Request(url)    res_data = urllib2.urlopen(req)    res = res_data.read()    data = json.loads(res)    data1 = data[0]    data2 = data1["callDetailArray"]    data4  = data1["retCode"]    data5 = data1["retMsg"]    data6 = data1["nextPageNum"]    data7 = data1["RN"]    data8 = data1["entId"]    if len(data1['callDetailArray']) == 0:        break    #print "返回代码:",data4,"是否成功:",data5,"下一页:",data6,"RN:",data7,"企业编号:",data8,"本页总条数:",len(data1['callDetailArray'])    data9 = len(data1['callDetailArray'])    l = range(len(data1['callDetailArray']))    for i in l:        data3 = (data2[i])        data10 = int(data3['sessionId'])        data11 = hex(data10)        data12 = data11[2:]        data13 = data12[:-1]        data14 = str(data3['resourceId'])        data15 = time.strftime("%Y-%m-%d %X", time.localtime())        url = "http://x.x.x.x:xx/dcmsWebservice/webservice/QueryRecord?wsdl"        client=suds.client.Client(url)        res = client.service['QueryRecord'].queryRecordAddr("xxxxx",data14,data14,data13)        record= str(res)        print record        db = MySQLdb.connect("x.x.x.x","ucds","ucds","report_detail",charset = "utf8")        cursor = db.cursor()        sql = """insert into outbound (record_url,sessionId_16,sessionId,resourceId,resourceName,resourceDN,skillId,remoteUrl,localUrl,startTime,endTime,        alertDuration,talkDuration,acwDuration,ivrDuration,joinDuration,endType,insertTime)        values("%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s")"""\            %(record,data13,data3['sessionId'],data3['resourceId'],data3['resourceName'],data3['resourceDN'],            data3['skillId'],data3['remoteUrl'],data3['localUrl'],data3['startTime'],data3['endTime'],data3['alertDuration'],data3['talkDuration'],data3['acwDuration'],data3['ivrDuration'],data3['joinDuration'],data3['endType'],data15)        cursor.execute(sql)        db.commit()        cursor.close()        db.close()        path=r'E:\record\xxxxxxx'        if record == str('-5'):            print "返回-5,无录音文件"        else:            wav = record.split('/')            wav1 = wav[8]            dest_dir=os.path.join(path,wav1)            urllib.urlretrieve(record,dest_dir)print "本次共同步:",(a-1)*100-int(data9),"条数据"


0