import json import re import redis import requests import base64 from spiders.hengbang.guishu.hb_config import * class photo_up(object): def __init__(self,plyappno,b64pho_list): self.busiNo=plyappno self.username = str(redis_conn.hget('hengbang_' + self.busiNo, 'username'), 'utf8') self.token=str(redis_conn.hget('hengbang_'+self.busiNo,'token'),'utf8') self.b64pho_list=b64pho_list self.headers = { 'Authorization':self.token, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36', "Accept": "application/json, text/plain, */*", } def upload(self): extArr_list = [] file_buff_list=[] file_type_list=[] mark3_list=[] for i in self.b64pho_list: #车主影像 if i.get('imgtype') == 'C02': url='https://car.hbins.com.cn/interflow/api/ocr/2' headers = { "Authorization": self.token, "Content-Type": "application/json;charset=UTF-8", "Origin": "https://car.hbins.com.cn", "Referer": "https://car.hbins.com.cn/", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", } data={ 'jobNo':self.username, "image_data":'data:image/jpeg;base64,'+i.get('image') } data = json.dumps(data) response = requests.post(url, headers=headers, data=data) name=''.join(re.findall(r'"name" : "(.*?)"',response.text,re.S)).replace('姓名','') id_number=''.join(re.findall(r'"id_number" : "(.*?)"',response.text,re.S)).replace('身份证号','') extArr_list.append({ "ocrFlag": "1", "name": name, "id_number": id_number }) file_type_list.append('01,06,03,投保业务-旧车-证件') file_buff_list.append('data:image/jpeg;base64,'+i.get('image')) mark3_list.append('6') elif i.get('imgtype') == 'C01': url = 'https://car.hbins.com.cn/interflow/api/ocr/1' headers = { "Authorization": self.token, "Content-Type": "application/json;charset=UTF-8", "Origin": "https://car.hbins.com.cn", "Referer": "https://car.hbins.com.cn/", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", } data = { 'jobNo': self.username, "image_data": 'data:image/jpeg;base64,' + i.get('image') } data = json.dumps(data) response = requests.post(url, headers=headers, data=data) plate_no = ''.join(re.findall(r'"plate_no" : "(.*?)"', response.text, re.S)).replace('号牌号码', '') vin_code = ''.join(re.findall(r'"vin" : "(.*?)"', response.text, re.S)).replace('车辆识别代码', '') engine_no = ''.join(re.findall(r'"engine_no" : "(.*?)"', response.text, re.S)).replace('发动机号码', '') register_date = ''.join(re.findall(r'"register_date" : "(.*?)"', response.text, re.S)).replace('注册日期', '') issue_date = ''.join(re.findall(r'"issue_date" : "(.*?)"', response.text, re.S)).replace('发证日期', '') owner = ''.join(re.findall(r'"owner" : "(.*?)"', response.text, re.S)).replace('所有人', '') extArr_list.append({ "ocrFlag": "1", "plate_no": plate_no, "vin_code": vin_code, "engine_no": engine_no, "register_date": register_date, "issue_date": issue_date, "owner": owner }) file_type_list.append('01,06,02,投保业务-旧车-行驶证') file_buff_list.append('data:image/jpeg;base64,' + i.get('image')) mark3_list.append('8') elif i.get('imgtype') == 'D02': extArr_list.append({}) file_type_list.append('01,06,03,投保业务-旧车-证件') file_buff_list.append('data:image/jpeg;base64,'+i.get('image')) mark3_list.append('7') elif i.get('imgtype') == 'D01': extArr_list.append({}) file_type_list.append('01,06,02,投保业务-旧车-行驶证') file_buff_list.append('data:image/jpeg;base64,' + i.get('image')) mark3_list.append('9') elif i.get('imgtype') == 'C03': url = 'https://car.hbins.com.cn/interflow/api/ocr/2' headers = { "Authorization": self.token, "Content-Type": "application/json;charset=UTF-8", "Origin": "https://car.hbins.com.cn", "Referer": "https://car.hbins.com.cn/", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", } data = { 'jobNo': self.username, "image_data": 'data:image/jpeg;base64,' + i.get('image') } data = json.dumps(data) response = requests.post(url, headers=headers, data=data) name = ''.join(re.findall(r'"name" : "(.*?)"', response.text, re.S)).replace('姓名', '') id_number = ''.join(re.findall(r'"id_number" : "(.*?)"', response.text, re.S)).replace('身份证号', '') extArr_list.append({ "ocrFlag": "1", "name": name, "id_number": id_number }) file_type_list.append('01,06,03,投保业务-旧车-证件') file_buff_list.append('data:image/jpeg;base64,' + i.get('image')) mark3_list.append('11') elif i.get('imgtype') == 'D03': url = 'https://car.hbins.com.cn/interflow/api/ocr/2' headers = { "Authorization": self.token, "Content-Type": "application/json;charset=UTF-8", "Origin": "https://car.hbins.com.cn", "Referer": "https://car.hbins.com.cn/", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", } data = { 'jobNo': self.username, "image_data": 'data:image/jpeg;base64,' + i.get('image') } data = json.dumps(data) response = requests.post(url, headers=headers, data=data) name = ''.join(re.findall(r'"name" : "(.*?)"', response.text, re.S)).replace('姓名', '') id_number = ''.join(re.findall(r'"id_number" : "(.*?)"', response.text, re.S)).replace('身份证号', '') extArr_list.append({ "ocrFlag": "1", "name": name, "id_number": id_number }) file_type_list.append('01,06,03,投保业务-旧车-证件') file_buff_list.append('data:image/jpeg;base64,' + i.get('image')) mark3_list.append('12') elif i.get('imgtype') == 'C04': url = 'https://car.hbins.com.cn/interflow/api/ocr/2' headers = { "Authorization": self.token, "Content-Type": "application/json;charset=UTF-8", "Origin": "https://car.hbins.com.cn", "Referer": "https://car.hbins.com.cn/", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", } data = { 'jobNo': self.username, "image_data": 'data:image/jpeg;base64,' + i.get('image') } data = json.dumps(data) response = requests.post(url, headers=headers, data=data) name = ''.join(re.findall(r'"name" : "(.*?)"', response.text, re.S)).replace('姓名', '') id_number = ''.join(re.findall(r'"id_number" : "(.*?)"', response.text, re.S)).replace('身份证号', '') extArr_list.append({ "ocrFlag": "1", "name": name, "id_number": id_number }) file_type_list.append('01,06,03,投保业务-旧车-证件') file_buff_list.append('data:image/jpeg;base64,' + i.get('image')) mark3_list.append('13') elif i.get('imgtype') == 'D04': url = 'https://car.hbins.com.cn/interflow/api/ocr/2' headers = { "Authorization": self.token, "Content-Type": "application/json;charset=UTF-8", "Origin": "https://car.hbins.com.cn", "Referer": "https://car.hbins.com.cn/", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", } data = { 'jobNo': self.username, "image_data": 'data:image/jpeg;base64,' + i.get('image') } data = json.dumps(data) response = requests.post(url, headers=headers, data=data) name = ''.join(re.findall(r'"name" : "(.*?)"', response.text, re.S)).replace('姓名', '') id_number = ''.join(re.findall(r'"id_number" : "(.*?)"', response.text, re.S)).replace('身份证号', '') extArr_list.append({ "ocrFlag": "1", "name": name, "id_number": id_number }) file_type_list.append('01,06,03,投保业务-旧车-证件') file_buff_list.append('data:image/jpeg;base64,' + i.get('image')) mark3_list.append('14') headers = { "Accept": "application/json, text/plain, */*", "Authorization":self.token, "Content-Type": "application/json;charset=UTF-8", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", } url = "https://car.hbins.com.cn/interflow/api/filebuff-upload/batch-folder" params = { "imgType": "tihe", "plyappno": self.busiNo } data = { "file_buff": "||".join(file_buff_list), "file_ext_name": "jpg", "file_type": "||".join(file_type_list), "ext_json": { "mark3": ",".join(mark3_list), "extArr": extArr_list } } data = json.dumps(data) response = requests.post(url, headers=headers, params=params, data=data) message = response.json().get('status') if message == '1': return {'message': '上传成功', 'code': 200} else: return {'message': '上传失败', 'code': 400} def main(self): return self.upload() if __name__ == '__main__': aa = open('3.jpg', 'rb').read() bb = open('4.jpg', 'rb').read() cc = open('1.jpg', 'rb').read() dd = open('2.jpg', 'rb').read() # cc = open('3333.jpg', 'rb').read() # print(str(base64.b64encode(cc)).replace("b'","").replace("'","")) ee = photo_up("T9704020801202465504462", [{ 'image': str(base64.b64encode(aa)).replace("b'", "").replace("'", ""), 'imgtype': 'C01' }, { 'image': str(base64.b64encode(bb)).replace("b'", "").replace("'", ""), 'imgtype': 'D01' }, { 'image': str(base64.b64encode(cc)).replace("b'", "").replace("'", ""), 'imgtype': 'C03' }, { 'image': str(base64.b64encode(dd)).replace("b'", "").replace("'", ""), 'imgtype': 'D03' }, ] ).main() print(ee)