123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- 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)
|