diff --git a/张阳脚本/F6汽车系统/套餐卡、储值卡退卡.py b/张阳脚本/F6汽车系统/套餐卡、储值卡退卡.py index c9e578b..df2ab5a 100644 --- a/张阳脚本/F6汽车系统/套餐卡、储值卡退卡.py +++ b/张阳脚本/F6汽车系统/套餐卡、储值卡退卡.py @@ -63,7 +63,7 @@ def ceshi(formData) -> str: print("生成失败预警!") -cookies_str ="marketingSESSIONID=0ac63d8a-75d0-498f-b8fe-a878331c7489; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2215932094283302236249%22%2C%22first_id%22%3A%2219b11da5605dba-09ce585a75d9ef-26011a51-2073600-19b11da5606f14%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2219b11da5605dba-09ce585a75d9ef-26011a51-2073600-19b11da5606f14%22%7D; erpLanguage=zh-CN; unp=15932094283302236249; un=15932094283302236249; _up=-NillNN-qyBEJ--t3vnSknvoOF52zvONuckH23g8WuVfVffDo5DQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqE_ATrYol1AAP_PVRv-ZNHu3M-GTc15uzFX6srOVWiusYklXFPBdmrEj9zR-69s-xcmc.; tmall=false; Hm_lvt_25f5e7a3a5dbb293d7dd35d5f1be8d0a=1773372154,1773382507,1773713140,1773741734; HMACCOUNT=350677B71627FB45; prodOrg=16015140731148603474; Hm_lpvt_25f5e7a3a5dbb293d7dd35d5f1be8d0a=1773743099" +cookies_str ="macanSESSIONID=6a135db3-5515-4acf-abf0-6c903afc9391; erpLanguage=zh-CN; prodOrg=11240984669916808518; unp=10907434497511789553; un=10907434497511789553; _up=-NillNN-qyBEJ--t3vnSknvoOFt2zfaJs8kB2nw6W-ZaXvjEoprQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqE_oUr4wj1gUK-_hRv-ZNHu3M-GTZ15i2EXSsquRSjOobl17KOxZsrEj9mB66_c6yTmA.; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2210907434497511789553%22%2C%22first_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%7D; tmall=false; Hm_lvt_25f5e7a3a5dbb293d7dd35d5f1be8d0a=1778119278,1778823299,1778838735,1779067120; HMACCOUNT=A6A0585E8C70051D; Hm_lpvt_25f5e7a3a5dbb293d7dd35d5f1be8d0a=1779067429" cookies_str = cookies_str.encode('utf-8').decode('latin-1') cookie_dict = {item.split('=')[0]: item.split('=')[1] @@ -75,10 +75,10 @@ headers = { 'origin': 'https://yunxiu.f6car.cn' } # 读取excel文件 -# data = xlrd.open_workbook(r"D:\Idea Project\F6+宜搭+其它(1)\张阳脚本\模板\套餐卡退卡.xls") -data = xlrd.open_workbook(r"C:\Users\hp_z66\OneDrive\Desktop\钉钉文件\退卡.xls") +data = xlrd.open_workbook(r"D:\Idea Project\F6+宜搭+其它(1)\张阳脚本\模板\套餐卡退卡.xls") +# data = xlrd.open_workbook(r"C:\Users\hp_z66\OneDrive\Desktop\钉钉文件\退卡.xls") -table = data.sheet_by_index(1) # 通过索引顺序获取 +table = data.sheet_by_index(0) # 通过索引顺序获取 h = table.nrows @@ -132,7 +132,7 @@ for i in tqdm(range(1, h)): "czkList": [], "paymentList": [ { - "paymentTypeId": "6932687", # 各门店不同 手动更新 + "paymentTypeId": "19080776", # 各门店不同 手动更新 "paymentType": "现金", "paymentAmount": idMember2, "gatheringType": 0, diff --git a/张阳脚本/F6汽车系统/客户信息删除-部分删除.py b/张阳脚本/F6汽车系统/客户信息删除-部分删除.py index 99035ff..1fbe28b 100644 --- a/张阳脚本/F6汽车系统/客户信息删除-部分删除.py +++ b/张阳脚本/F6汽车系统/客户信息删除-部分删除.py @@ -1,12 +1,12 @@ -import pandas as pd -import requests -from module import F6_module -import time -from tqdm import tqdm from pathlib import Path -from datetime import datetime -import json import traceback +import requests +import json +import time +from datetime import datetime +from tqdm import tqdm +import pandas as pd +import os #+ # f6_module = F6_module() @@ -15,23 +15,23 @@ import traceback # username = "13799889725" # password = "Lc1234" # store_name = "禹城榕桦" -module = 2 +module = 1 # # res = f6_module.login_in(username, password, store_name) # # cookies = requests.utils.dict_from_cookiejar(res.cookies) cookies = { - 'memberSESSIONID': '38d027b4-1f86-44fe-a8d2-2211fbd46394', + 'memberSESSIONID': '639e52b2-1260-47a9-8d0b-d0cd41054738', 'erpLanguage': 'zh-CN', 'tmall': 'false', - 'Hm_lvt_25f5e7a3a5dbb293d7dd35d5f1be8d0a': '1775553704,1775799422,1776043595,1776153876', + 'Hm_lvt_25f5e7a3a5dbb293d7dd35d5f1be8d0a': '1776909170,1776923216,1777270359,1777277857', 'HMACCOUNT': 'A6A0585E8C70051D', - 'prodOrg': '11240984669918128522', - 'unp': '15851362811188895763', - 'un': '15851362811188895763', - '_up': '-NillNN-qyBEJ--t3vnSknvoOF53yPCOts8N0no-Uu9VX_TGoZrQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqE_UXoIgm0QIF_PBRv-ZNHu3M-GTc1p2wFnGqpuxUiOMSmF_GORVsrEj92RzBn7rDYmA.', - 'sensorsdata2015jssdkcross': '%7B%22distinct_id%22%3A%2215851362811188895763%22%2C%22first_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%7D', - 'Hm_lpvt_25f5e7a3a5dbb293d7dd35d5f1be8d0a': '1776393475', + 'unp': '16023446149142708289', + 'un': '16023446149142708289', + '_up': '-NillNN-qyBEJ--t3vnSknvoOF1_z_KJtMsE13I-XuVaVvnDr5DQjaZJ9Q3d-WrAAGgt60MgQHajHWBHMKKxj0CuWypi1JgKCFP1EPEk-HbqE_QQq4Ml3wcK_PBRv-ZNHu3M-GTf3pqyEXOur-lciO8Yl1bLPBtmrEj90x3BhsH6PGY.', + 'sensorsdata2015jssdkcross': '%7B%22distinct_id%22%3A%2216023446149142708289%22%2C%22first_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2219b6df76a22f46-04a98afdd2a11d8-4c657b58-1327104-19b6df76a2312c7%22%7D', + 'prodOrg': '16070511835941490720', + 'Hm_lpvt_25f5e7a3a5dbb293d7dd35d5f1be8d0a': '1777428810', } print("cookies loaded") @@ -41,36 +41,98 @@ script_dir = Path(__file__).resolve().parent output_base = script_dir / f"请求结果_{datetime.now():%Y%m%d_%H%M%S}" -df = pd.read_excel(fr"D:\Idea Project\F6+宜搭+其它(1)\张阳脚本\文件输出\车辆信息.xlsx",sheet_name="Sheet2").astype(str) +df = pd.read_excel(fr"C:\Users\hp_z66\Desktop\客户信息.xlsx",sheet_name="客户信息").astype(str) -if module == 1: # 客户信息删除 +if module == 1: # 客户信息删除 + # --- 初始化日志列表 --- + delete_logs = [] # 删除操作日志 + query_logs = [] # 查询日志 + + # --- 1. 数据准备 --- df['手机号码'] = df['手机号码'].astype(str).str.strip().str.replace('.0$', '', regex=True) df['手机号码'].dropna(inplace=True) - url = "https://yunxiu.f6car.cn/member/customer/listForPermission?pageSize=50000&pageNo=1" # 获取客户信息列表 - res = requests.get(url, cookies=cookies) - row = {"ts": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "module": module, "action": "customer_list", "url": url} - row["status_code"] = getattr(res, "status_code", None) - row["ok"] = getattr(res, "ok", None) - try: - row["response_json"] = json.dumps(res.json(), ensure_ascii=False) - except Exception: + # 将需要删除的手机号转为集合,查询速度更快 + phones_to_delete = set(df['手机号码'].values) + print(f"待删除手机号数量: {len(phones_to_delete)}") + + # --- 2. 分页查询所有客户 --- + base_url = "https://yunxiu.f6car.cn/member/customer/listForPermission" + id_own_org = "16070511835941490720" + page_size = 100 + page_no = 1 + + all_customers = [] + + print("正在获取所有客户数据...") + while True: + params = { + "idOwnOrg": id_own_org, + "pageSize": page_size, + "pageNo": page_no + } try: - row["response_text"] = res.text - except Exception: - row["response_text"] = None - request_results.append(row) - data = res.json() - for item in tqdm(data['data']['data']): + res = requests.get(base_url, params=params, cookies=cookies) + query_log = { + "ts": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "module": module, + "action": "customer_list_page", + "url": res.url, + "page_no": page_no + } + query_log["status_code"] = getattr(res, "status_code", None) + query_log["ok"] = getattr(res, "ok", None) + + data = res.json() + query_log["response_json"] = json.dumps(data, ensure_ascii=False) + request_results.append(query_log) + query_logs.append(query_log) + + # 获取当前页的数据列表 + page_data = data.get('data', {}).get('data', []) + + # 如果当前页没有数据了,说明已经取完,跳出循环 + if not page_data: + print(f"第 {page_no} 页没有数据了,获取完毕。") + break + + all_customers.extend(page_data) + print(f"已获取第 {page_no} 页,共 {len(page_data)} 条数据。累计获取: {len(all_customers)} 条") + + page_no += 1 + time.sleep(0.5) + + except Exception as e: + print(f"获取第 {page_no} 页数据时出错: {e}") + error_log = { + "ts": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "module": module, + "action": "customer_list_error", + "page_no": page_no, + "error": str(e) + } + query_logs.append(error_log) + break + + # --- 3. 遍历所有客户并执行删除 --- + print(f"开始处理删除操作,共需检查 {len(all_customers)} 个客户...") + + success_count = 0 + failed_count = 0 + + for item in tqdm(all_customers): try: idCustomer = item['idCustomer'] phone = item['cellPhone'] phone_clean = str(phone).strip().replace('.0', '') - if phone in df['手机号码'].values: - print("删除:", phone) - url = f"https://yunxiu.f6car.cn/member/customer/{idCustomer}" # 客户信息删除url - res = requests.delete(url, cookies=cookies) # 客户信息删除 - row = { + + # 检查手机号是否在待删除列表中 + if phone_clean in phones_to_delete: + print(f"\n正在删除: {phone_clean}") + url = f"https://yunxiu.f6car.cn/member/customer/{idCustomer}" + + # 记录删除开始 + delete_log = { "ts": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "module": module, "action": "customer_delete", @@ -78,23 +140,122 @@ if module == 1: # 客户信息删除 "idCustomer": idCustomer, "cellPhone": phone_clean, } - row["status_code"] = getattr(res, "status_code", None) - row["ok"] = getattr(res, "ok", None) + + res = requests.delete(url, cookies=cookies) + + delete_log["status_code"] = getattr(res, "status_code", None) + delete_log["ok"] = getattr(res, "ok", None) + + # 解析响应 try: - row["response_json"] = json.dumps(res.json(), ensure_ascii=False) + response_data = res.json() + delete_log["response_json"] = json.dumps(response_data, ensure_ascii=False) + delete_log["response_code"] = response_data.get('code', '') + delete_log["response_msg"] = response_data.get('msg', '') except Exception: - try: - row["response_text"] = res.text - except Exception: - row["response_text"] = None - request_results.append(row) - print(res.json(), idCustomer, phone) + delete_log["response_text"] = res.text + delete_log["response_code"] = '' + delete_log["response_msg"] = '响应解析失败' + + # 判断删除是否成功 + if res.ok and delete_log.get("response_code") == 200: + delete_log["delete_status"] = "成功" + success_count += 1 + print(f"✓ 成功删除: {phone_clean}") + else: + delete_log["delete_status"] = "失败" + failed_count += 1 + print(f"✗ 删除失败: {phone_clean}") + + request_results.append(delete_log) + delete_logs.append(delete_log) + + # 打印详细结果 + try: + print(response_data) + except: + print(res.text[:200]) # 只打印前200个字符 + time.sleep(3) - else: - # print("不删除:", phone) - pass - except: - idCustomer = item['idCustomer'] + + except Exception as e: + # 记录异常情况 + error_log = { + "ts": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "module": module, + "action": "customer_delete_error", + "idCustomer": item.get('idCustomer', '未知'), + "cellPhone": phone_clean if 'phone_clean' in locals() else item.get('cellPhone', '未知'), + "error": str(e), + "delete_status": "异常" + } + delete_logs.append(error_log) + failed_count += 1 + print(f"处理客户 {item.get('idCustomer', '未知')} 时出错: {e}") + + # --- 4. 保存日志到Excel文件 --- + print("\n正在保存日志文件...") + + # 创建日志目录 + log_dir = "delete_logs" + if not os.path.exists(log_dir): + os.makedirs(log_dir) + + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + + # 保存删除操作日志 + if delete_logs: + df_delete_logs = pd.DataFrame(delete_logs) + + # 选择要保存的列(可根据需要调整) + columns_to_save = [ + "ts", "action", "idCustomer", "cellPhone", + "delete_status", "status_code", "ok", + "response_code", "response_msg", "error" + ] + + # 只保存存在的列 + existing_columns = [col for col in columns_to_save if col in df_delete_logs.columns] + df_delete_logs = df_delete_logs[existing_columns] + + delete_log_file = f"{log_dir}/删除操作日志_{timestamp}.xlsx" + df_delete_logs.to_excel(delete_log_file, index=False, engine='openpyxl') + print(f"删除操作日志已保存到: {delete_log_file}") + + # 保存查询日志 + if query_logs: + df_query_logs = pd.DataFrame(query_logs) + query_log_file = f"{log_dir}/查询日志_{timestamp}.xlsx" + df_query_logs.to_excel(query_log_file, index=False, engine='openpyxl') + print(f"查询日志已保存到: {query_log_file}") + + # 保存汇总信息 + summary_data = { + "项目": ["待删除手机号数量", "查询到的客户总数", "实际执行删除数", "删除成功", "删除失败", "执行时间"], + "数值": [ + len(phones_to_delete), + len(all_customers), + success_count + failed_count, + success_count, + failed_count, + datetime.now().strftime("%Y-%m-%d %H:%M:%S") + ] + } + df_summary = pd.DataFrame(summary_data) + summary_file = f"{log_dir}/删除汇总_{timestamp}.xlsx" + df_summary.to_excel(summary_file, index=False, engine='openpyxl') + print(f"删除汇总已保存到: {summary_file}") + + # 打印最终统计 + print("\n" + "=" * 50) + print("删除操作完成!") + print(f"待删除手机号: {len(phones_to_delete)} 个") + print(f"查询到客户总数: {len(all_customers)} 个") + print(f"实际执行删除: {success_count + failed_count} 次") + print(f"删除成功: {success_count} 个") + print(f"删除失败/异常: {failed_count} 个") + print(f"日志文件保存在: {log_dir}/ 目录下") + print("=" * 50) if module == 2: # 客户车辆信息删除 for index, row in tqdm(df.iterrows(), total=len(df)): diff --git a/张阳脚本/boss/boss权限自动审批.py b/张阳脚本/boss/boss权限自动审批.py index 6df7309..5d863ae 100644 --- a/张阳脚本/boss/boss权限自动审批.py +++ b/张阳脚本/boss/boss权限自动审批.py @@ -9,7 +9,7 @@ token = "Bearer qygHulymo1fekJk4CIZyNKjyQAzG8CFN" class API: - def entry_data_list(self, data: dict, replace: bool = False, max_retries: int = 20) -> Dict: # 获取多条表单数据 + def entry_data_list(self, data: dict, replace: bool = False, max_retries: int = 5) -> Dict: # 获取多条表单数据 """ 获取多条表单数据 :param max_retries: 最大重试次数 @@ -69,7 +69,7 @@ class API: return final_data @staticmethod - def workflow_instance_get(data: dict, max_retries: int = 20) -> dict: + def workflow_instance_get(data: dict, max_retries: int = 5) -> dict: """ 查询实例流程信息 :param max_retries: @@ -185,7 +185,7 @@ class API: return None @staticmethod - def entry_data_update(data: dict, max_retries: int = 20) -> dict: # 修改数据 + def entry_data_update(data: dict, max_retries: int = 5) -> dict: # 修改数据 """ 修改数据 :param max_retries: 最大重试次数,此处设置100次 @@ -324,14 +324,10 @@ class BossPermissionAutoApproval: # 在df1中查找匹配的所有功能 matched_functions = df1[df1['权限功能'] == perm_functions] # 假设df1中有'权限功能'列 - # 如果没有匹配项,至少添加权限功能本身 + # 如果没有匹配项,跳过这条记录 if matched_functions.empty: - all_data.append({ - "数据id": data_id, - "门店编码": org_code, - "权限功能": perm_functions, - "一级分类": None # 或者可以设为perm本身 - }) + print(f"跳过:权限功能 '{perm_functions}' 在映射表中找不到匹配") + continue else: # 添加所有匹配的功能 for _, func_row in matched_functions.iterrows(): @@ -424,6 +420,12 @@ class BossPermissionAutoApproval: 'containTest': True, } + # 跳过空门店编码 + if not code or str(code).strip() == "" or pd.isna(code): + print(f"跳过空门店编码") + code_to_company_id[code] = None + continue + try: response = requests.post( 'https://manage.f6yc.com/hive-admin/org/getAllOrgList', @@ -434,8 +436,12 @@ class BossPermissionAutoApproval: ) response.raise_for_status() # 检查请求是否成功 + response_json = response.json() + data = response_json.get("data", {}) + records = data.get("records", []) + # 兼容废弃与停用门店 - if len(response.json().get("data").get("records",[]))==0: + if len(records) == 0: json_data['orgStatus'] = 1 # 停用 response = requests.post( 'https://manage.f6yc.com/hive-admin/org/getAllOrgList', @@ -444,7 +450,11 @@ class BossPermissionAutoApproval: json=json_data, timeout=10 ) - if len(response.json().get("data").get("records",[]))==0: + response_json = response.json() + data = response_json.get("data", {}) + records = data.get("records", []) + + if len(records) == 0: json_data['orgStatus'] = 2 # 废弃 response = requests.post( 'https://manage.f6yc.com/hive-admin/org/getAllOrgList', @@ -453,11 +463,22 @@ class BossPermissionAutoApproval: json=json_data, timeout=10 ) + response_json = response.json() + data = response_json.get("data", {}) + records = data.get("records", []) # 提取company_id并存储到字典 - company_id = response.json()['data']['records'][0]['groupId'] - code_to_company_id[code] = company_id - print(f"成功查询: 门店编码 {code} -> company_id {company_id}") + if len(records) > 0: + company_id = records[0].get('groupId') + if company_id: + code_to_company_id[code] = company_id + print(f"成功查询: 门店编码 {code} -> company_id {company_id}") + else: + print(f"查询结果异常: 门店编码 {code}, groupId为空") + code_to_company_id[code] = None + else: + print(f"查询失败: 门店编码 {code}, 未找到匹配的公司(可能已注销)") + code_to_company_id[code] = None except Exception as e: print(f"查询失败: 门店编码 {code}, 错误: {str(e)}") @@ -583,10 +604,20 @@ class BossPermissionAutoApproval: print(e) def update_permission(self, df): + """优化版:按门店聚合,减少请求频率""" if df is None or df.empty: return pd.DataFrame(columns=["数据id", "门店编码", "一级分类", "二级分类", "权限", "开关", "状态"]) + # 检查 cookies 数据是否存在 + if not self.get_cookies or len(self.get_cookies) == 0: + print("错误:cookies 数据为空") + return pd.DataFrame(columns=["数据id", "门店编码", "一级分类", "二级分类", "权限", "开关", "状态"]) + cookie_str = self.get_cookies[0].get("_widget_1757558743223") + if not cookie_str: + print("错误:cookie 字符串为空") + return pd.DataFrame(columns=["数据id", "门店编码", "一级分类", "二级分类", "权限", "开关", "状态"]) + cookies = {} items = cookie_str.split('; ') for item in items: @@ -607,146 +638,271 @@ class BossPermissionAutoApproval: 'sec-fetch-site': 'same-origin', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0', 'x-requested-with': 'XMLHttpRequest', - # 'cookie': 'hive-adminSESSIONID=531d2ecb-893b-471c-8cf9-e76a9dcfa789; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%224210192048793363%22%2C%22first_id%22%3A%221989d4783646e1-07c9f1a149173e8-4c657b58-2073600-1989d4783651ade%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%221989d4783646e1-07c9f1a149173e8-4c657b58-2073600-1989d4783651ade%22%7D; _yg_prod=EkX_f7K7eYt61spccZtpCE7FGQAxK5DfP_4PB6A0jCrCT1LYfszIPQQqjcJjPPEZL0J2pO07cfp8VG-4XSfqBfYzvRdjXVIjT2D3fZ7X80GeyA8J24qvVma_W4j__vTE3I3zSTbNFRCPiizeGHdACpZXbli5aTRA; _oauth2_proxy=GdOm_1P1BJAoCcjMngUI40McDBpFqkL2vO_GTniJq-QGX6z9l3MieVkOjJJVJiDbEh5U-j6h3SmxsEjWuaOlfsJyWPx6muVdQOPavFTnd8TCr5-0Hz5xYOQncD1IqIGILgkejOJ3127iUvvu--dYjyqKiDwbtEGCN-Gb21Ik6hkb61C4OBppUra1XbJQ7kOXJnZdlBMe8FiMnlkYVOL8zJ1ZDLIzUcsyzq2s1ACRdVZFT8WU7JLhXKRvoiQSSm6qkCYPsuxGLudtHMeJibtvT8IGNp-jdvv8SF5gzomGhd1Abt_4YfCjiGznNbu421biQI866hEiPTjAZPai0EC-5E0VOi8NmfrBIxaqWx4ecIEGM6Z_8G-4ZWJVBNIv3v9AfUPANYR37yC-w8rOYYv9X2FV0YMkGqFoOKJWBnw4JbdxtdI-8UodAIQGUYVeJGLt6zOWWRNdzKeK57Z8X3Aki0CmLaP0SSUjoGW1pMJayMar94eQpzXszBVQxX_-_buXoDtXYg-u5q5jnQrXX3SLXC8W5JNY_sbDWm2ix7H2ezcxp2gypyyPnFMA5gRneE9wcLAWFtkb_YwT3Q_1KD4rUltqNBBV85KCOR77lxGXMYSEANPvJRW8mC9jg9ARD0JyvA1ZHWefjNU_Y_6RsKSiHrH5Cg5k8QU8skF-KgQrFUKGVfjWfpRfDO6IpR_z2lD-6qfwAshliwrFKyqJi1M91bdZuLR1dXubkgSNVXzyKkgjnGZ-4Ma9K8M3iLQwgBE1DoCRv92C-ie7sI3MmJ58vwu3OllkcOkiz7NjYzv1LKIIKTVEU7wgGe0SGKuEoRO2vRBOZcw_NUUW6s9SbwKleCXdsHkth2EFigiF9E7CGGdyw2G5qO1nx5nKIgEhhqPEBs6yq1uPEcza_BT_J5BauG_ffjpWrRR8TaoMFrmJFPdOf4JDON6FPukb4sbo_uANPG3tSpwNiefTv0E4QV7jNyNNOeGlhLxhcWyN2E6LZTOWH8lnVNUl6oLbSnrkcDGAV9Q76nebHhn5Yf6qJY4S1CceJwFlpIlooiz1bUWzt906c1UUcrFgxEydHMKbmScaG2S_dSjvfB76ZFgozWIGQiiZnd1bt8G7pc2VxMVW-szebBoeUf0HzPpzkej-ILRunt-E9Mpq-3afCOtbda0RfZWqR8cQsAt-cABPIdi4WT5v-Cg_jrjxBb8mueXbWZ5Q4gNPjsVmkfnpW5svBf8bKdChTbNyq_KOm2NV9itI6RSAVkIo6ANUBe9npnCs66v6hSQmmqjqbZ3H4GX1HiyT6VlFpTxT1xDry3tZsTZqw9lzvnT7Tin1lIxArQc0LnlZAoVbbLDJJlbfrXXcIF1kcClfXw5d_Smy_tfGOo5kYE9iTmfMOMh-8ZfhhjA43P4kMgSrYdQAvW1fHFMVQtqtHTmUiCSsKQ78Phh3-ampoI83iJooVzH34Yg21cv5wHpAJAn_wVC_Weto-bol3XXZkDHG0DWmoMGROViNkxc0vKxpMubwiG36E-U-1tQXsyhqqa6VqE_Vnn3fizk9m-ZgozyN-VlS5ALV6djm1wa-ISaLv9juHjQlfA0joY6ZLOxM6mcGsZliw9ZQ-mhiy1C9c3vOuPLW3ZWRCeJUX96BaA-5am-3Z3bjK1mp391cXle3idTEPFlMCKNVUUANNFwxeH0W6CKL4rcRkgiEnhWuBEADySvpfCFuYxojH2uOSfS8mCERpZ7KNEgPCIVs9VumX68w8QonxClCQLWG6JRAmfmCfYKi6UeeWWvsqQDPqQiMkowThSv_TmLgFh5baZsB9bJwFqojc6pOzM3ogHuHuY_67VsA8E_cmeeWvBzqWBV9umeciWq5fbC3Cqe_fAsHxtKb39D2vQyqWVjRk9qukzxBmcd8bXzKUV1r6lg0QgVm2PG8dyfAV_ymsR6Y4b_gtPWcVx83J5H8RgN43ofGXwdUFsqi5xnc_Bf-KO_psGgYImKnqU25ftV8eX0ss0K7jsyhafsWDwPSg2k7qHPNK2AbtLGZIQcRcjXe7efTICAeHOn9AJ4vUbU1UpO53WsY8gic1I7tEH0LKkg7Pz7rR7drDuYkDg200gXiO7y5FXl1dqGa-tilF9IL57hx3UcuM7mLZa5zU0bPprhmCelSA4CwG8la5yGUdpvBqBSz22-X-DgkrwCzLpchi_LnpAkx2_jza2yTO5PtCSjn7hFbvuNFm6Neb_AuRg6-TpolwGfl-Bu3nUySmnCoCH8IvAoA4BpXzFH7o21cAlEHdKAndnoEljtyoyxa6DAZoG5Osttn71tbudyEFh26eOiA-wGAbpHJnsg3Slp35gicLgAepJ8oDFAaqdhtyP7-jizBCCB-Bt29hqvWwH22J30wgoXKnJgjFl6F9L4hxmvRi2QHWKV35ITGA1JqrS0VayT9DIrbTUKoRIKzTme0Z5deBxB8YFmiINAEqdS86PCbQi28-tK2RYuvFJ4O_RWxrMxD1fnDhbPWhnDGiY9dGmDjPgWB70vtIVaikGr_M_Bwm_3oa7ec00eTaSnjmX1qzLCLdvX_Ie6hBFgDii7ZU-KrQndqcbLYU9KtkI2yVwXWMihlLzdxNukzuxnU4IK334Mtebpz6ykLX8e8UfvbHJx4D_JgQQKB7Gfoxb-O02owUY6bvR-tgTp8n9-Mic9osDWeBgmmPHmvyNjcWbi4SXdBSVVIML12iS7qvjHlekG01r_EalttUe000hU1MLqE_Kd1XcINRq0vZaed5m6fXEUVcPchVYN9GC7e36HMo7ZlgE0fGNsWY6pFr-seXI2_23UJW9l_edhMqpvJJh5CAJYMRQ-Rtvzfbe8n|1757554489|NPRgqlI6umo48ScNrekwcxSuAvgFZbVOWWnkmHcAJww=', } result_list = [] - df.to_csv(fr"D:\Idea Project\F6+宜搭+其它(1)\张阳脚本\文件输出\门店含id权限功能映射.csv", index=False) + + print(f"=== update_permission 调试信息 ===") + print(f"原始数据行数: {len(df)}") + print(f"数据列名: {df.columns.tolist()}") + if "开关" not in df.columns: + print("错误:数据中没有'开关'列") return pd.DataFrame(columns=["数据id", "门店编码", "一级分类", "二级分类", "权限", "开关", "状态"]) - df.dropna(subset=['开关'], inplace=True) - for index, row in df.iterrows(): - print(row) - if row["company_id"] is None: - continue - if row["门店编码"] == "空门店编码" or row["门店编码"] is None: - result_list.append( - { + + df_filtered = df.dropna(subset=['开关']).copy() + print(f"过滤空开关后的数据行数: {len(df_filtered)}") + + if len(df_filtered) == 0: + print("警告:过滤后没有数据需要处理") + return pd.DataFrame(columns=["数据id", "门店编码", "一级分类", "二级分类", "权限", "开关", "状态"]) + + # ========== 核心优化:按company_id聚合 ========== + # 过滤掉company_id为空的行 + df_valid = df_filtered[df_filtered['company_id'].notna()].copy() + + if len(df_valid) == 0: + print("没有有效的company_id,跳过所有处理") + return pd.DataFrame(columns=["数据id", "门店编码", "一级分类", "二级分类", "权限", "开关", "状态"]) + + # 按 company_id 分组 + grouped = df_valid.groupby('company_id') + + print(f"开始处理 {len(grouped)} 个门店的权限...") + + for company_id, group in grouped: + print(f"\n===== 处理门店 company_id: {company_id},共 {len(group)} 条权限 =====") + + # 1. 获取当前门店的菜单状态(只请求一次) + params = {'groupId': company_id} + + try: + response = requests.get( + 'https://manage.f6yc.com/hive-admin/company/role/getGroupAdminRoleMenusScope', + params=params, + cookies=cookies, + headers=headers, + timeout=10 + ) + + if response.status_code != 200: + print(f"错误:获取菜单状态失败,状态码: {response.status_code}") + # 该门店所有权限都标记为失败 + for _, row in group.iterrows(): + result_list.append({ + "数据id": row["数据id"], + "门店编码": row["门店编码"], + "一级分类": row["一级分类"], + "二级分类": row["二级分类"], + "权限": row["权限"], + "开关": row["开关"], + "状态": f"获取菜单状态失败 {response.status_code}", + }) + continue # 跳过这个门店,处理下一个 + + response_json = response.json() + data = response_json.get("data") + if not data: + # 可能是cookie过期,发送预警 + payload = { + "api_key": "6694d3c4fcb69ca9a111a6c4", + "entry_id": "68cb745753594c2570ba4f70", + "data": { + "_widget_1758164058473": {"value": "Boss权限自动审批"}, + "_widget_1758164058474": {"value": f"cookies信息失效,请更新cookie"} + }, + "is_start_workflow": "true" + } + API().data_batch_create(payload) + + # 标记所有行为cookie失效 + for _, row in group.iterrows(): + result_list.append({ + "数据id": row["数据id"], + "门店编码": row["门店编码"], + "一级分类": row["一级分类"], + "二级分类": row["二级分类"], + "权限": row["权限"], + "开关": row["开关"], + "状态": "cookies失效", + }) + continue + + menus_list = data.get("menus", []) + print(f"菜单项数: {len(menus_list)}") + + except Exception as e: + print(f"获取菜单状态异常: {str(e)}") + for _, row in group.iterrows(): + result_list.append({ "数据id": row["数据id"], "门店编码": row["门店编码"], "一级分类": row["一级分类"], "二级分类": row["二级分类"], "权限": row["权限"], "开关": row["开关"], - "状态": "空门店编码跳过执行", - } - ) + "状态": f"获取菜单异常: {str(e)}", + }) continue - if row["一级分类"] is not None: - params = { - 'groupId': row["company_id"], - } - response = requests.get( - 'https://manage.f6yc.com/hive-admin/company/role/getGroupAdminRoleMenusScope', - params=params, - cookies=cookies, - headers=headers, - ) - # print(response.json()) - if response.status_code == 200: - pkId = response.json().get("data").get("role").get("id") - user_name = response.json().get("data").get("role").get("name") - menus_list = response.json().get("data").get("menus") - for menu in menus_list: - if menu.get("name") == row["一级分类"]: - nodes_list = menu.get("nodes") - if row["开关"] == "开": # 确保一级权限为开 - menu["isChecked"] = 1 + # 2. 在同一个menus_list上应用该门店的所有权限变更 + has_modification = False # 标记是否有实际修改 - for node in nodes_list: - if node.get("name") == row["二级分类"]: - child_nodes_list = node.get("nodes", []) - print(row["二级分类"], row["权限"], row["开关"]) - if row["开关"] == "开": # 确保二级权限为开 + for _, row in group.iterrows(): + print(f" 应用权限: {row['一级分类']} > {row['二级分类']} > {row['权限']} = {row['开关']}") + + if row['一级分类'] is None: + continue + + for menu in menus_list: + if menu.get("name") == row["一级分类"]: + # 处理一级分类 + if row["开关"] == "开": + menu["isChecked"] = 1 + has_modification = True + print(f" 开启一级分类: {row['一级分类']}") + + for node in menu.get("nodes", []): + if node.get("name") == row["二级分类"]: + # 处理二级分类 + if row["开关"] == "开": + if node.get("isChecked") != 1: node["isChecked"] = 1 + has_modification = True + print(f" 开启二级分类: {row['二级分类']}") - if row["权限"] != "无": - # 处理有三级权限的情况 - for child_node in child_nodes_list: - if child_node.get("name") == row["权限"]: - if row["开关"] == "开": - print("更新权限:", child_node["id"], "为开") - child_node["isChecked"] = 1 - else: - child_node["isChecked"] = 0 - break # 找到对应的权限后跳出循环 - else: - print(row["二级分类"], row["权限"], row["开关"], 11111111111) - # 处理只有二级权限的情况 - if row["开关"] == "开": - node["isChecked"] = 1 - else: - node["isChecked"] = 0 - # 同时更新所有子节点的状态 - for child_node in child_nodes_list: - child_node["isChecked"] = node["isChecked"] + if row["权限"] != "无": + # 处理三级权限 + for child_node in node.get("nodes", []): + if child_node.get("name") == row["权限"]: + new_value = 1 if row["开关"] == "开" else 0 + if child_node.get("isChecked") != new_value: + child_node["isChecked"] = new_value + has_modification = True + print(f" {'开启' if new_value else '关闭'}三级权限: {row['权限']}") + break + else: + # 无三级权限时,统一设置二级及子节点 + new_value = 1 if row["开关"] == "开" else 0 + if node.get("isChecked") != new_value: + node["isChecked"] = new_value + has_modification = True + for child_node in node.get("nodes", []): + if child_node.get("isChecked") != new_value: + child_node["isChecked"] = new_value + has_modification = True + break # 找到匹配的二级分类后跳出 + break # 找到匹配的一级分类后跳出 - # 查询isChecked为1的id - checked_ids = [] + # 3. 如果没有实际修改,直接标记该门店所有权限为成功 + if not has_modification: + print(f" 门店 {company_id} 无实际权限变更,跳过更新请求") + for _, row in group.iterrows(): + result_list.append({ + "数据id": row["数据id"], + "门店编码": row["门店编码"], + "一级分类": row["一级分类"], + "二级分类": row["二级分类"], + "权限": row["权限"], + "开关": row["开关"], + "状态": "无需更新(权限已生效)", + }) + continue - def collect_checked_ids(items): - for item in items: - if item.get("isChecked") == 1: - checked_ids.append(str(item.get("id"))) - if "nodes" in item: - collect_checked_ids(item["nodes"]) + # 4. 收集所有选中ID并发送更新请求(只发送一次) + checked_ids = [] - collect_checked_ids(menus_list) + def collect_checked_ids(items): + for item in items: + if item.get("isChecked") == 1: + checked_ids.append(str(item.get("id"))) + if "nodes" in item: + collect_checked_ids(item["nodes"]) - checked_ids_str = ",".join(checked_ids) - print(f"更新后选中项的ID: {checked_ids_str}") + collect_checked_ids(menus_list) + checked_ids_str = ",".join(checked_ids) + print(f" 选中ID数量: {len(checked_ids)}") - new_json_data = { - "pkId": pkId, - "name": user_name, - 'isValid': 1, - "menuStr": checked_ids_str, - } + # 5. 发送POST更新请求 + role = data.get("role", {}) + pk_id = role.get("id") + user_name = role.get("name") + if not pk_id or not user_name: + print(f" 错误:无法获取pkId或user_name") + for _, row in group.iterrows(): + result_list.append({ + "数据id": row["数据id"], + "门店编码": row["门店编码"], + "一级分类": row["一级分类"], + "二级分类": row["二级分类"], + "权限": row["权限"], + "开关": row["开关"], + "状态": "响应数据异常", + }) + continue + + new_json_data = { + "pkId": pk_id, + "name": user_name, + 'isValid': 1, + "menuStr": checked_ids_str, + } + + # 添加重试机制 + max_retries = 3 + update_success = False + update_error_msg = "" + + for retry in range(max_retries): + try: response = requests.post( 'https://manage.f6yc.com/hive-admin/company/role/update', cookies=cookies, headers=headers, json=new_json_data, + timeout=30 # 增加超时时间,因为参数可能很长 ) - time.sleep(0.5) - print(f"请求结果:{response.json()}") - if response.json().get("code", 1000) == 200: - result_list.append( - { - "数据id": row["数据id"], - "门店编码": row["门店编码"], - "一级分类": row["一级分类"], - "二级分类": row["二级分类"], - "权限": row["权限"], - "开关": row["开关"], - "状态": "更新成功", - } - ) + result = response.json() + print(f" 更新请求结果 (重试{retry + 1}/{max_retries}): {result}") + + if result.get("code") == 200: + update_success = True + break + elif result.get("code") == 500: + update_error_msg = f"服务器内部错误 (500)" + if retry < max_retries - 1: + wait_time = (retry + 1) * 2 # 递增等待时间:2s, 4s, 6s + print(f" 500错误,{wait_time}秒后重试...") + time.sleep(wait_time) else: - result_list.append( - { - "数据id": row["数据id"], - "门店编码": row["门店编码"], - "一级分类": row["一级分类"], - "二级分类": row["二级分类"], - "权限": row["权限"], - "开关": row["开关"], - "状态": "更新失败", - } - ) - else: - payload = { - "api_key": "6694d3c4fcb69ca9a111a6c4", - "entry_id": "68cb745753594c2570ba4f70", - "data": {"_widget_1758164058473": {"value": "Boss权限自动审批"}, # 预警类型 - "_widget_1758164058474": {"value": f"cookies信息失效,请更新cookie"} - # 预警内容 - }, - "is_start_workflow": "true" - } - res = API().data_batch_create(payload) + update_error_msg = f"更新失败 code={result.get('code')}: {result.get('message')}" + break + + except Exception as e: + update_error_msg = f"更新异常: {str(e)}" + if retry < max_retries - 1: + wait_time = (retry + 1) * 2 + print(f" 请求异常,{wait_time}秒后重试...") + time.sleep(wait_time) + + # 6. 记录该门店所有权限的结果 + status = "更新成功" if update_success else f"更新失败: {update_error_msg}" + + for _, row in group.iterrows(): + result_list.append({ + "数据id": row["数据id"], + "门店编码": row["门店编码"], + "一级分类": row["一级分类"], + "二级分类": row["二级分类"], + "权限": row["权限"], + "开关": row["开关"], + "状态": status, + }) + + # 7. 门店之间添加延时,避免请求过快 + time.sleep(1) + result_df = pd.DataFrame(result_list) return result_df diff --git a/张阳脚本/工具/emoji严格处理.ipynb b/张阳脚本/工具/emoji严格处理.ipynb index 60dc779..eb2a805 100644 --- a/张阳脚本/工具/emoji严格处理.ipynb +++ b/张阳脚本/工具/emoji严格处理.ipynb @@ -6,8 +6,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2026-01-29T03:44:29.227796600Z", - "start_time": "2026-01-29T03:44:28.870218900Z" + "end_time": "2026-04-22T07:31:42.910929700Z", + "start_time": "2026-04-22T07:31:37.243473300Z" } }, "source": [ @@ -37,8 +37,8 @@ "\n", "# 示例:读取 Excel 文件\n", "def process_excel_file(file_path):\n", - " df = pd.read_excel(file_path, engine='openpyxl') # 支持 .xlsx\n", - " # df = pd.read_excel(file_path, engine='xlrd') # 支持 .xlsx\n", + " # df = pd.read_excel(file_path, engine='openpyxl') # 支持 .xlsx\n", + " df = pd.read_excel(file_path, engine='xlrd') # 支持 .xlsx\n", " print(\"原始数据:\")\n", " print(df.head())\n", "\n", @@ -68,40 +68,81 @@ " print(\"\\n已保存清洗后的文件:cleaned_output.csv\")\n", " return df_cleaned\n", "\n", - "file_path = fr\"C:\\Users\\hp_z66\\Desktop\\钉钉文件\\储值卡信息匹配后文件.xlsx\"\n", + "file_path = fr\"C:\\Users\\hp_z66\\OneDrive\\Desktop\\钉钉文件\\客户车辆信息老六_可导入.xls\"\n", "process_excel_file(file_path)" ], "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "原始数据:\n", + " 客户姓名 性别 车牌号 手机号码 标签 VIN码 车身颜色 备注 车辆所有人 发动机号 \\\n", + "0 1 NaN 豫S38065 13174646666 NaN NaN NaN NaN NaN NaN \n", + "1 先生 NaN 黑A92RS8 15004617481 NaN LMGAA1C51F1096393 NaN NaN NaN NaN \n", + "2 先生 NaN 黑F05145 15244670275 NaN LSJW56761KG020310 NaN NaN NaN NaN \n", + "3 先生 NaN 黑AV101M 18904650318 NaN LFV3A23C6G3051709 NaN NaN NaN NaN \n", + "4 1 NaN 黑A1G3U7 13069966234 NaN NaN NaN NaN NaN NaN \n", + "\n", + " ... 会员号 可用积分 累计获取积分 专属门店 专属顾问 客户推广员工 注册日期 发证日期 车辆来源 车辆推广员工 \n", + "0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "2 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "3 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "4 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "\n", + "[5 rows x 37 columns]\n", + "\n", + "清洗后数据(已移除 4 字节字符):\n", + " 客户姓名 性别 车牌号 手机号码 标签 VIN码 车身颜色 备注 车辆所有人 发动机号 \\\n", + "0 1 NaN 豫S38065 13174646666 NaN NaN NaN NaN NaN NaN \n", + "1 先生 NaN 黑A92RS8 15004617481 NaN LMGAA1C51F1096393 NaN NaN NaN NaN \n", + "2 先生 NaN 黑F05145 15244670275 NaN LSJW56761KG020310 NaN NaN NaN NaN \n", + "3 先生 NaN 黑AV101M 18904650318 NaN LFV3A23C6G3051709 NaN NaN NaN NaN \n", + "4 1 NaN 黑A1G3U7 13069966234 NaN NaN NaN NaN NaN NaN \n", + "\n", + " ... 会员号 可用积分 累计获取积分 专属门店 专属顾问 客户推广员工 注册日期 发证日期 车辆来源 车辆推广员工 \n", + "0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "2 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "3 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "4 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "\n", + "[5 rows x 37 columns]\n", + "\n", + "已保存清洗后的文件:cleaned_output.xlsx\n" + ] + }, { "data": { "text/plain": [ - " 卡名称 关联模板ID 持卡人姓名 持卡人手机号 绑定车牌号 卡号 可用门店 \\\n", - "0 储值卡 12147360560970768475 刘斌 18299152198 新A9KW77 18299152198 全部 \n", - "1 储值卡 12147360560970768475 张怀彬 13319992628 新F54991 8883939 全部 \n", - "2 储值卡 12147360560970768475 刘君君 15292780801 新F1861P 8883933 全部 \n", - "3 储值卡 12147360560970768475 热那提 18699990750 新FD2D08 18699990750 全部 \n", - "4 储值卡 12147360560970768475 安斌 13779519897 新F9010Q 13779519897 全部 \n", - ".. ... ... ... ... ... ... ... \n", - "721 储值卡 12147360560970768475 陈轲 13095118455 新A125YK 9990223 全部 \n", - "722 储值卡 12147360560970768475 姜海南 18999586345 新F7V551 9990232 全部 \n", - "723 储值卡 12147360560970768475 买力侧 13679950078 新F16J72 13679950078 全部 \n", - "724 储值卡 12147360560970768475 王子煜 15109991005 新FF32122 8883965 全部 \n", - "725 储值卡 12147360560970768475 贵小军 18999588628 新F6616L 8889762 全部 \n", + " 客户姓名 性别 车牌号 手机号码 标签 VIN码 车身颜色 备注 车辆所有人 \\\n", + "0 1 NaN 豫S38065 13174646666 NaN NaN NaN NaN NaN \n", + "1 先生 NaN 黑A92RS8 15004617481 NaN LMGAA1C51F1096393 NaN NaN NaN \n", + "2 先生 NaN 黑F05145 15244670275 NaN LSJW56761KG020310 NaN NaN NaN \n", + "3 先生 NaN 黑AV101M 18904650318 NaN LFV3A23C6G3051709 NaN NaN NaN \n", + "4 1 NaN 黑A1G3U7 13069966234 NaN NaN NaN NaN NaN \n", + "... ... .. ... ... .. ... ... .. ... \n", + "9917 陈双 NaN 黑AQ293H 13019712562 NaN LSYBCAAA4CW070101 NaN NaN NaN \n", + "9918 奇瑞 NaN 黑AG21X5 18346069680 NaN LS5A3DBE5GA136962 NaN NaN NaN \n", + "9919 奇瑞 NaN 黑A8DC02 18346069680 NaN LVVDA11A3AD070555 NaN NaN NaN \n", + "9920 戴洪太 NaN 黑A579B1 18346262816 NaN LSVGX46R7E2049499 NaN NaN NaN \n", + "9921 高先生 NaN 黑AH2R02 13796072678 NaN LGBP12E04CY105879 NaN NaN NaN \n", "\n", - " 卡有效期 剩余面额 剩余实额 服务顾问 售卡门店 售卡日期 卡说明 使用条款 \n", - "0 2025-03-24 200.0 200.0 NaN 伊宁车友 2024-03-24 NaN NaN \n", - "1 2025-02-12 10.0 10.0 NaN 伊宁车友 2021-05-07 NaN NaN \n", - "2 2024-05-09 260.0 260.0 NaN 伊宁车友 2021-03-28 NaN NaN \n", - "3 2026-01-25 500.0 500.0 NaN 伊宁车友 2021-01-25 NaN NaN \n", - "4 2025-12-31 29.8 29.8 NaN 伊宁车友 2020-12-30 NaN NaN \n", - ".. ... ... ... ... ... ... ... ... \n", - "721 2026-03-06 334.0 334.0 NaN 伊宁车友 2017-10-29 NaN NaN \n", - "722 2026-07-17 430.0 430.0 NaN 伊宁车友 2017-04-09 NaN NaN \n", - "723 2027-12-14 200.0 0.0 NaN 伊宁车友 2022-12-14 NaN NaN \n", - "724 2027-07-02 1000.0 0.0 NaN 伊宁车友 2022-07-02 NaN NaN \n", - "725 2026-11-24 230.0 0.0 NaN 伊宁车友 2021-05-22 NaN NaN \n", + " 发动机号 ... 会员号 可用积分 累计获取积分 专属门店 专属顾问 客户推广员工 注册日期 发证日期 车辆来源 车辆推广员工 \n", + "0 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "2 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "3 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "4 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "... ... ... .. ... ... ... ... ... ... ... ... ... \n", + "9917 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "9918 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "9919 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "9920 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "9921 NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", - "[726 rows x 15 columns]" + "[9922 rows x 37 columns]" ], "text/html": [ "
\n", @@ -122,111 +163,147 @@ " \n", " \n", " \n", - " 卡名称\n", - " 关联模板ID\n", - " 持卡人姓名\n", - " 持卡人手机号\n", - " 绑定车牌号\n", - " 卡号\n", - " 可用门店\n", - " 卡有效期\n", - " 剩余面额\n", - " 剩余实额\n", - " 服务顾问\n", - " 售卡门店\n", - " 售卡日期\n", - " 卡说明\n", - " 使用条款\n", + " 客户姓名\n", + " 性别\n", + " 车牌号\n", + " 手机号码\n", + " 标签\n", + " VIN码\n", + " 车身颜色\n", + " 备注\n", + " 车辆所有人\n", + " 发动机号\n", + " ...\n", + " 会员号\n", + " 可用积分\n", + " 累计获取积分\n", + " 专属门店\n", + " 专属顾问\n", + " 客户推广员工\n", + " 注册日期\n", + " 发证日期\n", + " 车辆来源\n", + " 车辆推广员工\n", " \n", " \n", " \n", " \n", " 0\n", - " 储值卡\n", - " 12147360560970768475\n", - " 刘斌\n", - " 18299152198\n", - " 新A9KW77\n", - " 18299152198\n", - " 全部\n", - " 2025-03-24\n", - " 200.0\n", - " 200.0\n", + " 1\n", + " NaN\n", + " 豫S38065\n", + " 13174646666\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2024-03-24\n", " NaN\n", " NaN\n", " \n", " \n", " 1\n", - " 储值卡\n", - " 12147360560970768475\n", - " 张怀彬\n", - " 13319992628\n", - " 新F54991\n", - " 8883939\n", - " 全部\n", - " 2025-02-12\n", - " 10.0\n", - " 10.0\n", + " 先生\n", + " NaN\n", + " 黑A92RS8\n", + " 15004617481\n", + " NaN\n", + " LMGAA1C51F1096393\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2021-05-07\n", " NaN\n", " NaN\n", " \n", " \n", " 2\n", - " 储值卡\n", - " 12147360560970768475\n", - " 刘君君\n", - " 15292780801\n", - " 新F1861P\n", - " 8883933\n", - " 全部\n", - " 2024-05-09\n", - " 260.0\n", - " 260.0\n", + " 先生\n", + " NaN\n", + " 黑F05145\n", + " 15244670275\n", + " NaN\n", + " LSJW56761KG020310\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2021-03-28\n", " NaN\n", " NaN\n", " \n", " \n", " 3\n", - " 储值卡\n", - " 12147360560970768475\n", - " 热那提\n", - " 18699990750\n", - " 新FD2D08\n", - " 18699990750\n", - " 全部\n", - " 2026-01-25\n", - " 500.0\n", - " 500.0\n", + " 先生\n", + " NaN\n", + " 黑AV101M\n", + " 18904650318\n", + " NaN\n", + " LFV3A23C6G3051709\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2021-01-25\n", " NaN\n", " NaN\n", " \n", " \n", " 4\n", - " 储值卡\n", - " 12147360560970768475\n", - " 安斌\n", - " 13779519897\n", - " 新F9010Q\n", - " 13779519897\n", - " 全部\n", - " 2025-12-31\n", - " 29.8\n", - " 29.8\n", + " 1\n", + " NaN\n", + " 黑A1G3U7\n", + " 13069966234\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2020-12-30\n", " NaN\n", " NaN\n", " \n", @@ -247,128 +324,164 @@ " ...\n", " ...\n", " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", - " 721\n", - " 储值卡\n", - " 12147360560970768475\n", - " 陈轲\n", - " 13095118455\n", - " 新A125YK\n", - " 9990223\n", - " 全部\n", - " 2026-03-06\n", - " 334.0\n", - " 334.0\n", + " 9917\n", + " 陈双\n", + " NaN\n", + " 黑AQ293H\n", + " 13019712562\n", + " NaN\n", + " LSYBCAAA4CW070101\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2017-10-29\n", " NaN\n", " NaN\n", " \n", " \n", - " 722\n", - " 储值卡\n", - " 12147360560970768475\n", - " 姜海南\n", - " 18999586345\n", - " 新F7V551\n", - " 9990232\n", - " 全部\n", - " 2026-07-17\n", - " 430.0\n", - " 430.0\n", + " 9918\n", + " 奇瑞\n", + " NaN\n", + " 黑AG21X5\n", + " 18346069680\n", + " NaN\n", + " LS5A3DBE5GA136962\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2017-04-09\n", " NaN\n", " NaN\n", " \n", " \n", - " 723\n", - " 储值卡\n", - " 12147360560970768475\n", - " 买力侧\n", - " 13679950078\n", - " 新F16J72\n", - " 13679950078\n", - " 全部\n", - " 2027-12-14\n", - " 200.0\n", - " 0.0\n", + " 9919\n", + " 奇瑞\n", + " NaN\n", + " 黑A8DC02\n", + " 18346069680\n", + " NaN\n", + " LVVDA11A3AD070555\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2022-12-14\n", " NaN\n", " NaN\n", " \n", " \n", - " 724\n", - " 储值卡\n", - " 12147360560970768475\n", - " 王子煜\n", - " 15109991005\n", - " 新FF32122\n", - " 8883965\n", - " 全部\n", - " 2027-07-02\n", - " 1000.0\n", - " 0.0\n", + " 9920\n", + " 戴洪太\n", + " NaN\n", + " 黑A579B1\n", + " 18346262816\n", + " NaN\n", + " LSVGX46R7E2049499\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2022-07-02\n", " NaN\n", " NaN\n", " \n", " \n", - " 725\n", - " 储值卡\n", - " 12147360560970768475\n", - " 贵小军\n", - " 18999588628\n", - " 新F6616L\n", - " 8889762\n", - " 全部\n", - " 2026-11-24\n", - " 230.0\n", - " 0.0\n", + " 9921\n", + " 高先生\n", + " NaN\n", + " 黑AH2R02\n", + " 13796072678\n", + " NaN\n", + " LGBP12E04CY105879\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " ...\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " NaN\n", - " 伊宁车友\n", - " 2021-05-22\n", " NaN\n", " NaN\n", " \n", " \n", "\n", - "

726 rows × 15 columns

\n", + "

9922 rows × 37 columns

\n", "
" ] }, - "execution_count": 7, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], - "execution_count": 7 + "execution_count": 2 } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "F6+宜搭+其它", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" + "pygments_lexer": "ipython3", + "version": "3.13.11" } }, "nbformat": 4, diff --git a/张阳脚本/竞品系统数据导出/快修哥脚本.ipynb b/张阳脚本/竞品系统数据导出/快修哥脚本.ipynb index 98b9526..6fdceb1 100644 --- a/张阳脚本/竞品系统数据导出/快修哥脚本.ipynb +++ b/张阳脚本/竞品系统数据导出/快修哥脚本.ipynb @@ -6,8 +6,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2025-02-12T02:49:48.709390Z", - "start_time": "2025-02-12T02:47:15.921630Z" + "end_time": "2026-04-27T01:30:44.563487Z", + "start_time": "2026-04-27T01:27:52.161545800Z" } }, "source": [ @@ -23,22 +23,20 @@ "table = []\n", "now_time = time.time()\n", "headers = {\n", - " \"Accept\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\",\n", - " \"Accept-Encoding\": \"gzip, deflate\",\n", - " \"Accept-Language\": \"zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\",\n", - " \"Cache-Control\": \"max-age=0\",\n", - " \"Connection\": \"keep-alive\",\n", - " \"Content-Length\": \"11300\", # 注意:实际使用时需要根据具体请求体长度调整\n", - " \"Content-Type\": \"application/x-www-form-urlencoded\",\n", - " \"Cookie\": f\"ASP.NET_SessionId=aw4ajyrucsewefwug25vnpfk; Hm_lvt_ab3baaa579f771d051a6b0baad5a8cfe=1739159639; HMACCOUNT=ABFCA62083E00432; td_cookie=630612599; iswatchme=0; setaddat=0; hksdms=username2=admin&truename2=%e8%94%a1%e8%8e%89&id=7804&wxusername2=7804&zb=false&qx=111-11111111111-11111111111111-0-1111-11111111111111-111111111-1111111111-1111111111111-1111-0-0-0-0-0-0-0-0-0-0&login=1&actname=%e7%ae%a1%e7%90%86%e5%91%98&act=%e7%ae%a1%e7%90%86%e5%91%98&username=admin&truename=%e8%94%a1%e8%8e%89&userid=16489&valid=True&wxusername=7804&uniqueKey=7a6b7018-b9e0-40ea-a99f-714205c526e6&timeunitprice=0.00&allowquickout=True&telqx=1&tel=13688013403&StoreName=%e6%88%90%e9%83%bd%e9%80%9a%e9%80%94%e4%bd%b3%e5%ae%87%e6%b1%bd%e8%bd%a6%e7%bb%b4%e4%bf%ae%e6%9c%8d%e5%8a%a1%e6%9c%89%e9%99%90%e8%b4%a3%e4%bb%bb%e5%85%ac%e5%8f%b8%e6%96%b0%e9%83%bd%e5%88%86%e5%85%ac%e5%8f%b8&attestationTel=19982143399&StoreName2=%e6%88%90%e9%83%bd%e9%80%9a%e9%80%94%e4%bd%b3%e5%ae%87%e6%b1%bd%e8%bd%a6%e7%bb%b4%e4%bf%ae%e6%9c%8d%e5%8a%a1%e6%9c%89%e9%99%90%e8%b4%a3%e4%bb%bb%e5%85%ac%e5%8f%b8%e6%96%b0%e9%83%bd%e5%88%86%e5%85%ac%e5%8f%b8&vipid=SAAS7804&zonecode=1007&zone=%e5%9b%9b%e5%b7%9d&CustomerID=11717&IsInitialized=1&ScrmModuleValidTime=&isScrmModule=False&isBasicModule=True&isTechnologyModule=True&isPartsManageModule=True&isBusinessImprovementModule=False;Hm_lpvt_ab3baaa579f771d051a6b0baad5a8cfe={now_time}\",\n", - " \"Host\": \"www.kuaixiuge.com\",\n", - " \"Origin\": \"http://www.kuaixiuge.com\",\n", - " \"Referer\": \"http://www.kuaixiuge.com/carinfo.aspx?clientWidth=1275\",\n", - " \"Upgrade-Insecure-Requests\": \"1\",\n", - " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0\"\n", + " 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',\n", + " 'Accept-Language': 'zh-CN,zh;q=0.9',\n", + " 'Cache-Control': 'max-age=0',\n", + " 'Connection': 'keep-alive',\n", + " 'Content-Type': 'application/x-www-form-urlencoded',\n", + " 'Origin': 'http://www.kuaixiuge.com',\n", + " 'Referer': 'http://www.kuaixiuge.com/carinfo.aspx?clientWidth=1920',\n", + " 'Upgrade-Insecure-Requests': '1',\n", + " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36',\n", + " 'Cookie': 'ASP.NET_SessionId=ciw1fuls0atkqaj4gkxhzngy; Hm_lvt_ab3baaa579f771d051a6b0baad5a8cfe=1777102209; HMACCOUNT=0838F6FCCBE848D9; td_cookie=4195838249; iswatchme=0; setaddat=0; hksdms=username2=admin&truename2=%e6%9d%8e%e7%9b%9b%e4%bc%9f&id=25375&wxusername2=&zb=false&qx=111-11111111111-11111111111111-0-1111-11111111111111-111111111-1111111111-1111111111111-1111-0-0-0-0-0-0-0-0-0-0&login=1&actname=%e7%ae%a1%e7%90%86%e5%91%98&act=%e7%ae%a1%e7%90%86%e5%91%98&username=admin&truename=%e6%9d%8e%e7%9b%9b%e4%bc%9f&userid=32483&valid=True&wxusername=&uniqueKey=a50d175d-b2df-46e6-b055-6a048d88c720&timeunitprice=0.00&allowquickout=True&telqx=1&tel=18753499929&StoreName=%e5%be%b7%e5%b7%9e%e5%b8%82%e5%be%b7%e5%9f%8e%e5%8c%ba%e7%9b%9b%e4%bc%9f%e6%b1%bd%e4%bf%ae%e9%97%a8%e5%b8%82%e9%83%a8&attestationTel=18753499929&StoreName2=%e5%be%b7%e5%b7%9e%e5%b8%82%e5%be%b7%e5%9f%8e%e5%8c%ba%e7%9b%9b%e4%bc%9f%e6%b1%bd%e4%bf%ae%e9%97%a8%e5%b8%82%e9%83%a8&vipid=SAAS25375&zonecode=1003&zone=%e5%b1%b1%e4%b8%9c&CustomerID=165423&IsInitialized=1&ScrmModuleValidTime=&isScrmModule=False&isBasicModule=True&isTechnologyModule=True&isPartsManageModule=True&isBusinessImprovementModule=False; SERVERID=000e421eb0ab0efb9790874bd5c8f758|1777252987|1777252342; Hm_lpvt_ab3baaa579f771d051a6b0baad5a8cfe=1777252993',\n", "}\n", + "\n", "# for i in tqdm(range(1, 660)):\n", - "data = f'__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=0RqO1C3t5nX0e9YrzDzO7NPg5cUxKhQCLnFF5ezdD4GGT67W34UPgeTe6YxB7GQSnSe8Fe8RFv0mH4ARUpoCa903u1ofnzqGEqFRCseTy2Sde0ulgO0kpoTIaSh2JZSeKROK1KnY2uXK8GLM6APoHyIEp8JMdvznzzYT4PJXwwlx%2BqM4oQcCBh3K7axS7RaKo0xLxA%2FCF9h6eUawoItYKiiZiQw3cNtRII8QGcv12%2BB6lZqmuF1MExXvXNuX%2B4HwwSHaIpY%2BLE9RoOTtWSzO3yBlSjnWjiVDYEcY%2BwPVhQyA5ANUxCGQi9RfkGM0ogsW%2BryaSxr0QIl1bEa1s26a%2F2ktR7yzk3BGiGTFmnNdKaZPDbi0I63ExO0YbMoDVhR3z91vW51Z3KqC4PvHVK1hAmwirfqMhTNkrW0oZ82D0BMu3FR6WVaUK6yiL%2BVAsUPx7vjcIOzrTjfITd4DSE6LYu68Af1ph9qPFmihBQUm1BgUB9ZHNpn8PHzd2Gq1CyPK%2BIkfn7u3p1JLDMzKeM2S1LqpoZaF5cPRPvN1E4la%2FBjgU31%2BnSF1Jo12laDJNnqV4%2BIr8s5nD2MDtY7swECIERaG2B5HFzTPZ3CjCkLbrqxRZomHZ%2FoH%2B8KjVHUmun9cvPF1MXskja4PFDxUHN0FjGl6Fi6Pu9c6jsjqYwKUAf1l38UvlTYvtiLaJZMQPCzOoivemX38JWEFRc63W0fhQznpBuWIbnihdC7MuA9WYfB4ag9Rs4KM3jt4B8Y81P9ojDertsGns9xxcxS6cKtb6YIL1vbnhKBTFGcinLZBH5CAE7eICumyyGfUNT%2F%2Fwd7bYJN%2BHX7Yvjsdo392Cw4GyHKnlN9n0dlN02uyZ8jeg8mkJ9RYe1IbCE4PFw9HZ6lw8iiErQ3%2B65PoPT%2FFLCAXhwY41FFR67s8UzU9IXI3liU2ROG1bkdd1KnDIBBnB%2B5GHYgLgQpqmnoEOX7VIjIvDaW0tQCAgD3JDDKkiBv7TgpzFhlQ7TlOoYHSI9NMK7lvYK%2BNqB5FU27w1eQtPKY%2ByIbKuTgEbYxhQ8zaJY2KwiJPSqwEPcxzzgik33w89MbOFaEMeoWS%2BFGvs6CWy0BUE%2F%2F%2FvJPkRdthybd8t5Gl1UPexrOZNzRCDmffo6XTeT9jH0DYXYAuDTzyYHwDZNXCEHnhbQ73MYkfykCjPag0%2FV9Y9R64RUXCGJA1D4qliLm453XUb0Mnu12o14kGXZH%2B2LvkD64dNAgkUWIzCAnFJWxLF%2FOV3LeD5fNLHUhdh8Z0CdfA9JBfbwo9p%2BTBXQzWhH9yuwFmycVDUtcAUOfPyoCfjRfMUD8L%2FqZjlslMNjurMZ%2BaziczGhiax2AqivJHpaAnUE9LIihjkpW7dkgpLv5qkLI3IqefanlEn3JfbRfppf4i4506AGB4EcnoWbk6Rff2Ay73UtX95AERIwQE6JSsQd5NkxLBgAvpRNPIPfFEgYQouaaa5Efx%2Bpq%2BAR6U%2BPoJGfA2hvE2omMTvUE4xjHLt5N4JNrwfwUIS8RBD7QIzXQu4ZmmEPjG3GqHKnasGJswD2btInZ%2Bd8l46VDCXYcYHZST%2BB3kQi2HmGKcoRWp3TaBMPLHbhpcLifOnDOTaGtzHDoQjnNz1rjc0AzG7jnXoVmflX0EX1SdwD3irURNEFt1oxuv3%2BOYBZNtKvwlzzXXNMoE5Gn2%2ByRSFLlImnNNgwWgVvmIwQhJMPgeiJiEpJxlKwd7zo%2FLUqFeOpqscCak%2B4mM5lHtJQNG47yB%2BSVutkMJK1OpFmNeuo73yU4m4HuxzakLSLt7bugG%2BlN3f5bPge9NYq%2BdMTUWQv1EzYtyJ9SE31td2J62SXcBCVq6rBvNQxEf1mHWZ0T5PmnikNQLOFOuyQZMQ2X%2BNK1tu39kHotg71f33XrPT%2BTaZhd8xOcl6rsgp3gxLykNQhG%2Ft0U4OGscL4aBgqzct1GGpYzAQ1jM4Y6taSJkVY8FTSZ%2FOfD7RLt%2BEMY6CnIabv2IdZDHL3LPTPQHItqIc%2BbbSz6rfp%2F%2FX0g7DrLBkZ2JRqqH6sE26a1qz4NqtO0qExPA5U%2BB7Gkg9QP1BX6VThW5yyOCOoqrgbxQpO4EKMylvvgx5pqiSju9aOWLxoZ3IebRj6INRJHfZ3%2B73zoSI7bxa1OJIKA1EoPklVHOCFlH8ZA%2B2IsSE7ApdOQZVxtzNDWeuhXiVc9PHILKYAjNY9U%2Bp22BOWomsPzmjzYagiJRP49tCRs4o61Zxh2qP3puw4iTBX%2BmC5kR5fgCg3hFYdyXLfecbmuTOke8vLC4jpVl6%2BY9l3UoZqmAiRmvQMIKt7UFAq5tT2x0S7irkRx5U%2BEsIWYEoadacYfxdrjWYuVSk5FWHP8lAJC4Vp4Fl0JXFAsrrut0UnvsQ64bih3%2BHDvpXSGFvbeTnM13THZHfO%2BsuGou9KquLwUpbQZdgb1Qqvz8eKmmm8HsnZ0nPuIDzQTxP7VtEvEc4J4ShF5AROhn8smowjw6HlifflnA2AfhWKdAJJdloumw%2F4yec%2F13xs8IouFUul15kCrIgwrdra7YrsoXJ%2Fu9lGVrbQM0HWFDWi93gulg%2BMpIpkqHd0q7JTDdekylWrxR0JdygR7Wyhfs7tbe%2BvBIpGwPuinJ2nqNUyvmVpJDEh3tq1ESWdWdrNz4VdIONnjgkFGfwc7xncqdliukBoprhpzvodqlYnGRE4zbCTpEOFlMfXIgpS3kKsrduSNDQza%2BSd9L7qBagEv2djyzO%2BrKh8NA%2B1vnmCD5Ayp1ltxIBWdOx%2FI7IgZovS0gO6Eb7zOf77en8bqfEY7JyRtDbD%2FeO%2Fw56kVfWy9JVxQc5Gm5UyHlqXMdWDbNSXFgOGYsV1CtSoBmgetCN%2F4UUVrcRAXHVz8hZy0NkKFPJgD5SlpzBe3FM6Gn9WF7PTo85ZDRuJ5bwxw0w5e6XZGqUp4l4ASaY9%2FvxBy6V32yyJj3sEnomDJLe9YLxr%2FfPGqc2LgDrf4RITTmYEl%2Bk5yO7jN%2FyEkUErcbjMSrtViWjikjNvQ5vicdYH1BtfMXXUor5BAn%2B8iNwzE4jPa5wi1VqkW%2BRl8yFVxDUdiJZdKlfy4LRHPgHaBEKliul8fY4KhRHArOxOLKgPTP9feWmu%2Bmf5YVMAIItNonyzIzm3jRxsYR2WLduTx9pMby%2Bbx%2F0yVPSg7SXB1Au3L5p4hpheleVfwGpyxzxuXz6aeSAremQcbaqoCC4VPwWDag76XZQGAd6ZSol7LHEZdq9SpC6XJKei8pvHStm55L%2FwglZarFzPJCWe6n8lj9MwxPMJXrij80ClKNCyUNFiZPcK6zDWBY8nLy84MtBCuh0GGs3%2BHVHLoqQifbmfI1tynO02qZEYWI60yKMNanWTVn1xzLopWo1Gw3eMBka6ZevNZA0nNiFWaLZ%2BN8X4JB50760DfMSW4cFg763VhIjLs8eekR3rvStJJqailnOCgEVB8FfW3BG6ZdaYoio62U2Hf4ebkzCNCa7qId%2FlMCvatYZOHMvwe95iOAiKoakXsXFMA4p9%2BibcxP6t%2BWDagpsLq0TUklrjGtltfGxwq6ScHRBsAemaYCEn1ITO2KVwoLLOarJjZ%2B%2B8uvjHWslYrhn7wQyFH5OFip%2BN%2B1lsr1AHHR1lhI0WuPRrou4AFlDNHSaph2uYFnT4wxlMhFMwsMgX7DIKOshNDEjriDA4ftJ0cMmJc5tUo%2F1DhelV7WQdWAi31%2B2Ar55pdJ22xtjinK8t%2BEtdYZMGmp7WZ1Gy3yWa6Fiy7OPiKoygIRho6Qu1X6ZIaF88S6OYcW9Pdo8Pt6OV9ELnkfk8Cz9KVHmSyifJ1CRMP8IynWXUo4OaC70K2ahf69MOYIwppoCUtJi%2B6xJzRH5KgUygUxxuxhZXsSClYRL9cgDlD293WBv%2FCZEmWmhsEdbcQ0u7Z8VyxK%2Bh4MbiMKpZVQIoL7WC%2FibpHxcB97kCXJxxneXGDsw218sD7S3FpC03cR%2FVGthfwbi%2F5wvY7c%2FF3lerSrBZkUxhlLRSKKy1yhJx3v3mFM%2BabgYwnflfmpmpNexglDCN1ITeGzDClbMiXLJLyF9tcWT9XJJGNeC%2BMjkRHmzaA9bPUDzqwx%2FWnKTXFfcA6U07VzBSqMPNCRVF6DSqbzBnsmDTJ1DWOKCorZdYtqK1kDYCYamICGVJLVRkGCqJCFXwz9LAjTR27kNRxHzui3eEVMLHOm8lBeD2pVdklnCm8rDd%2FqiXAGdl9D%2B22mxHqqNXzB%2F6G0BViKYQXxFQukZUgjc6FWxMR5%2BYowyjcKScnmKIn2%2FxaSBFtzudKv9wVKKG%2BLMxC2AHFbSowoVWSqxLgKaJIPv3%2B6ZLTv2M9rx3%2FmXtMSz48BCjQKhmhIUOfVwLy4Md%2FcSQ9He8RYlSe8orSnk%2Fr8beHy4Mya%2F5z2EeCvrNN5dhWRzd53UGfXf24UswIp05Rtrlm6y4kGPZQfCh%2BQFE%2BvuMYmgtnbUrQOAObDj1IX1kQnLSDJtJJnTQFo49F1wPtFGp0VgIp646UAYEokVsuRAIN%2B%2BCwYTYuo59KpcSmsuJyfB%2BZh96pr1nD95b09beB%2BC%2BKqFbp0GJGvWTKZsrhwi8Y3ET9tOtGorcC%2Fs7Kay9dMygKcE6TFYADdnhSjdH1pSFv%2Be%2Bb3VYx1vkk%2FBdXsqlJ9%2B%2BdeaqpI%2FH9eSuf1V1NLVf4ZoHUHTmG7XiCWjdEclCksLCnM%2FZpHygZnpAvLFsIlUREdpcWFxCZtuPApO058mV6ViKz2PXpRjPpL3g8n%2FqrnPh3QJ2AozUujVZTBngd7LnATMS13CmfwTlLB6VaM%2BYJ%2BGiUAPWL46PEgaM4e2yXEcNDjdMOIATO53TTlejSKhm6n3ht6JeVjl2eW93Qfny5xjvuyJ63%2BrH2XQt7DQe4nNOAYWhl9Kc1kT%2Fry5Zu%2FE45QDkLFhKJ0KR6IOhLVQEb%2BOTg6kM7ARzmG3eZlkCLnCyYVfPC5%2BV1ddfitGovpglKQMgDQtbAXvb7A%2FZSIIhigZjwZzvStB0CW7zDQV7xeVlYJZsehND55%2FcGblLeOvF9oGf3snTjLuUn2cgMVTNVfUC5UAVWt2UjosU0Hh%2B93WsE%2BSL5CJPhP7wxKGK7JamNzrdoiwRFF2qMQz3qwxNNknetdyn04BdWqkHqVxugddueKOReqRVXDLZp8tiCHNgdWoVRTJGjCSfOPfnKoQ1sPW%2B%2FicmZD0xRNvyyJ67rfzLEI5xbPf8xxqKugfpP5QwGT6y4JtXk%2Bh1tRyW1aCNoyG5Iyh20WnF8iZhMYplV8O9HuodEfG34E6Q6iLc5FH2N%2F0NHkfNrsRp1CzzOVFvSFBHSXrFdsW887kgJW7onRIbEIhofxuq7v7clrDOlFotMYHqs6DsFx837cp48vr0KI0iP47hf1ETLh2utxC2%2FBgy%2BECFwZh5MGP3ZO18ED%2Bh7WnxBqQaDi6OqjzgjAJjQtLdbsiOmLZAFpAorKGLaX7A9p4N%2BPNOAIj4odaNpgUPZdkEQCNJG1%2FjOk1NzgGR5tCLFR6a%2F51haBBx0H8ak3kZ6IWSwxNvMPsYI1DrDMRpZ315lLwLlBkZmlXE2mnSl4DLz8DzyrqTRzjKKEALzR42g%2FijkmKsn%2BwFBcJp%2B%2B%2F8Z6Hzg800QjcYB2WGf71JNLvTYU84F2yNQ1T1mITRaUK2zjMIAAYUyte232PnIuV%2BbaTl884qo7UMglDUPs9q6C6DIsDL48E2elRKvhmLPnAQFeWoJsTDAX3NM%2B7iZWE9zwWW4xRTXAGYyXHtsGEMqSvqpBgODhkSeTeQaRl2AxHZcyrH4UpHWJm7%2FahyGaU%2BRVxNXw1WBOCibRqdVv2Vs4%2BLOlkOaX7MAtefIbQFB1sxUuEroRYDGwAHrOzBeMCfWYBZH5PZet0l%2Btlhx%2FYclPs%2Boid80YyjS9ELQ593UX9ho%2Bj74qH7I0vldfXHyHkYiNtQrbke7yAXKxo0rzovLPLDK5ZEA6nD9xOadSfRIFhdwh5wGO4kTbkc6ktjE%2Bvm2qsvBWluncNj9VZuanikeyd%2FYD%2Fu3%2FHAMCVJKnVMAqTE%2BH7ZzILbJJ%2FrwMJhEy3HtmLoixdtKu2TXzLfVf6VvilkVMhOiDAriuWAxwXmavrBeAeYzJEoovJg8ceZIITjEZ%2FzGJxTevOsdChb1c0Yec4Xcv2%2BLYCglWJYJ4QHhsgiUtgP7Pqp%2B49J%2Bir%2BENVapEhQJ4ukSq04bHmy0KYUTcnqxDzvkMcE3EUUf3gYOmm9hyoygmKjcmY%2F0VhaQTU0wPH9iQQuZLVNTnxsCkfzfKCrGt0u19GYDEBkvgxvAOk%2F0CdVw5%2BFkB3YRrhUEpUxLledTdVm8l20PqLfY083Plb4VDZZfVBo7iHQguWdKfjiMta6cyZL9CW8FOI%2FjbjCFwXndaUxb2OWWp%2FC%2BEEK%2BNgOwotON3HhlzlxE0RqV2Tn0BsLdmAx4pL4rpgToDLGpPUKvMpOhDMwIiG1ncwPEST3UhpUC%2FGqpS0j4I%2FRZ4sxJjt%2FTZ5%2BiwYHHaWwT1LM5%2Byl7kb8j5ohWWXJO9MVD9tRVEf1cRY06A%2FA2M%2FZZcAmnl5u1ePvsRBjVlBz6xrWl%2FRry%2FMQK04buYSReLt8tFKIzZD%2FwsVk2GOKHCp%2F5sM6MiQ%2FK6z2zCy%2BIPupiXkvs%2Fs82%2B6zY5wzITdC7eaWD25PIQ5cavp%2FDRhrT%2Fqc%2Bn9kL9jJtt%2FpYYiZ8DKAMkd%2FFSECxUBUWOG0gzFKbulel4FRoa4mGfTyiL9bweIcPLmWlK%2FnqxadxKe5HKo0SgGxEgBT4MBDe4R63Fq7Z%2B2yCRdA9sSbZ3eIVQJMFSSc2%2F58QBcA4K4VrCByphLlzW2bu6F0ja%2BR1oUg%2B6z%2FiJNR3W5G0a5OQC7RXmqRM4Oh33KP1B9eDgKQABigL9DYY8OLrCqKOHuKQt1n236NrNdzMJkrv2oTgIPeRz73Fbmf6SqkEhT5zH%2Ff64mB2r3Vz1LL7baFdwagpR0PQJ3fljdr17VqohCy7OZM6tAc7vdvzZp8ugujPjHLjZZ0HpgchWsP8a1BdkcV%2FoNp79GWrzxVOmeL%2BeOroX7xtalpHZx8fHuaLhrBxrldZsujCOJr4Nlut1MAm%2F4%2Fl7PH3zy3Z1vy1F7O12FgbDlLb7DF9jpUdKqYmRs9zliiy7bAhTY1xJLYjaFdLVZlZtmYTJDWUthgH%2FjlKpt0APG%2FBYxgv7wReVUVVI%2B0KYAL0p29nIfYnNuT%2BONnxpL2NAN80wEFrGXYRfTUMDzUX66%2FUmNOq9O5IB1sf19%2BFaS2ojieS1lbpVA726aDofRDfMdphauZE4cmp1%2B9dkR7uGYxE%2FrYocBv5WlwTFqmiAvR%2BKqeSTVZQaZl7orT28X4KcDUkDWLdhMQRMivBRTnasI68KvzkEhoPzJToV0WxdmYEbnT1UQ%2BGNkidipj%2BXEzLab3CffIOdxWBisqjGoTid6N20IxKLCnBcrjKRVDpvz43RDJ8xPXEeO5l4XEGCxidp%2FwBKR6PKAOAXhEngpAWdS771KsrTEQ3SLwlpelfcL4u%2FggVghMkoz77h%2FEmSNs9bLle5pKbnxsX0l4CPSolf%2BDiHNb2GEoDPdJ2hJnJ5QEivwKbK%2B82NgmByUFiSaOOrUdXh5vtdN3ZOzPmpnZocwDhgmMHOnsKMmudd0SjLDQA2d%2Faupf36eKxU3tbQNVNX1AX7Q0Vkc0WhP7OoPMSsQ1FbL%2F20Pq578vkoBAbvzP%2FsNT0CdKxXhspK3RYIkvCVlqd7hDWZmChJrIA62KuKBOss6WQnhByB7jni2RnelBXHBWtTlMlteKYnHWwJCL2SPiw7BTG%2FysEWnXX8u1VBHuXp%2FTaGVAHQYsJZYfCjICKu749a4v6LyhQHrIOXlbCisx4E7uyStWmNnD3lsm9a%2BIcAhORSVSqtkTP6Ra568u1UsDKHRap4l7nuf7CMDe4Dzm2nlIahw11YS8%2FzbZIKVdje54TT7akxXRVT%2BF%2FmQ1US3qYSoZQAQOIkUUha1kXiQbGNvroOrTQZfXUgepWWVQqwTfKXPx%2FVcQ%2BVYQl%2B7o28KZzaIOo%2B99jjfxwPokDrIKk6AgUFX6DOE6f1sgoLZjr%2BOfzBxMdKWddiptQxeSu4YmALN5%2BZCw1IRshvJULvRP5q11QtKhgUoydBxmJZ%2BwrkgEefx%2FT6Axe8xBA2oBfu5rpPSJot81Sw1Mml4e9t9zVH7%2F6ii5M%2FEGllFFaU98XVEdU9%2BbaEBEqWwwwGGlwuglLYD3lcGtAb1Gv79DgoDzW3OAk62WvmL2%2BBShuXXjKPvhubOYUa2ZinK2LNunVyufhOc0U3%2B%2FoluQLp1XHgLiGmYf5NjKoeZ3mZCrbOsQkEi5IvMBz7jBg0fl6fwSsfsHjUr4btKxGOshxEWuFLx5AOS21aOUrlk4QaBTW7TZvKO6Euwlgggs5jDTMEDN6KghSVKQto3BzSfq17otJw04DCGiP5Q8pGWSUL4vJ9GglJuoRME7AywCb2hdadKjZMo8FpQ7Tb0R6lMx4f7TWptIp1lKU3veQQ%2FZrLJWGHIXvOtOu3BZbf0kfuQSCZbezP0mEfnVW%2FHQ0QAQtFHZwjhEQAjV%2FP3plHEgVGjmaoDpur2%2B6YdSMu8wGzQ%2F1cTRhMeZIyqmfEXsagNs1ndl3tu8gisyK2br%2F3Jz5%2Bxc4jed5bQHw6ZhNwT8j7iVNB34fdh%2FYAHsoJAk1AnWrsEbDmS9pEf91j1jPphA%2FPUqdyux%2Bi6upNvo5X53ylEqUW3LkHtFA80hFtjGSYcy3VxULRniBgeuDhZXS9p2xvLBU5I7cfIcJKBcjMQVaIHg%3D%3D&__VIEWSTATEGENERATOR=B80C0CC7&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=RBPMm1ZTHwOy39dK1eEWyp0saI3PpZqoQN0WKxJwBvaaBjcKm3ZFBvynHo5SzPQZUzKCxkQqOwD%2FaPpTgsyHvu1%2BMwyj4x4pTsKqsGDYxe0TAWCWTW%2F%2BEulYg9ED9IzIqgowEoMPfoP%2FKMk4%2FrA6EVPusIf%2BRiwQFQAPGM7THK2NQ4GWlf23BMRD3nJHKHS229nk0oziqlmxCN1bCPTb5uXt39LzB8PqkOJeBua2rTiG04LLyuTIEsV8BL%2FLInqJEg4N07%2BVMHDWA5aaLnlzRMnuOfQwXweusixxREzKcLRHxJxsDCp9PbqOJj9I9KVjsaAPfeurMYxMqZPlFmO2CxKqPMvFFSPg9Ek5SGA9KM8oTapa8wq16F66mwJwthNoUtva1rta0Xwr8alKOoyYN%2BwbBaUnOoXhc6dZ%2Bk74fOka%2FXKkTj6qnvzOATptquL6XQwtmMfow8rDg2vLQhYxOYwIBf007eFYB%2FWN759wvUoNn1NSfi1y%2FaXMKiGATSLnTEdAacMmugUBKHefEmHVL9PIEV8z0StStEifSYjrlSV3vTLgzoyI4AvIuOic86V3b052sQjXMVn801U4I%2B0%2ByDOOX0kYbA7PXisXu0wsPUomgJeiLjsZd9Yv9MxJPi84DsOcT%2FM%2BZFojfucxsf4b5fiByXyOqqDLTpUoYD44ShWfABkRk6R7h95cS7eUkmvW78w3n%2BbwRPoBMG9fxyHCCILmIx4bnSsOR2xPc2NPq%2BG%2B3DFJooYT9PviDWE9zK7zQBaufIBAPCN75xrSbhmMgCpTPLhAXoHMchUxXaEemA8xdszoMO3WGL%2BjkC4F1rXSHluhMWTQ%2Bj6%2F1ER772CkoYVw6CwAxVAGrfF0bi%2FyuvV5Mn6MyKA2kIOkTS016Qwbp1LzqmACLh6aGcV10Uw7VP75dMONFH1khdB5HILrcQY44rXCNChiFQGv9631I%2FwlJK1vYOogJ9TBYL3T7rw91HLVHQ58Az4SbfRI%2F%2BU01dHmi8kOqdeVm5Csu%2BZI47RvIHdjdk%2FptN3%2F1VMvUWoMsXYUgeaMGQaQIs6GpDK3L7CRLLpNztEFscCSkUKKRauh8sew63D8paZGP7kGDsjVj4sa6u%2BC10d%2FY1PJxUalQhQrSK5PmhdtmiQI8NCe8jt6nXxLi7F45NxWSkPHEcLc3y%2FI5HJeNvhd2v4atRMchuNoMwhOCtjGq0rAyb5PRvRkvSL4Ac7sv4r9Nx7xcwiAbkqfagkzzeuw1J1rwIhOQvBJThroWrwKdqBIl%2FDemvUwl1QOG1OxUfUI4MLqYE1ayWkUjEaxQibGVDU18qx7QDi9yCTRNYwQSTcxN3OIo3PCkSZV6N8oo1UWsPKdqfix0hcizJa2VhZYLkrQo6luJXY1bghmwXqDMdlNCxVHyQQAq4WDL3nu3IX1xX3kIrK%2BCMnvzWy5Qt479vaGR%2FmntpyCtRptkv3y1Yz5pVF634u7A0c8%2BepNk0R4CPf1LJXMccFh2EjKNAkMhPN39%2FMh4pYBFpidirCGQTjEtLeLLyJBeVNpyehNYJ%2FKlKIiiqgVQBjbvnvVQnM03vvjvbQx1C9sCj4bbX9KxSKzkV2Ehu99v4RXrvIjAZ424WzeAQix60RirW2qQIU0cLox7klFg3F9w7%2FvfcZ7PmYMEB07pTsUPRfKSEIa5vOefFH0cd1Xy4hdH0nne20WrpygNLBhWUzzW781eHbe%2FDdZIEp%2F%2FL6qwY6RRftvMkyunWWW8wZS%2BMLIUm4N4lut%2BaBzbC5BMpiJsH38%2FIj%2B54kGyqzntB2nHiRe65Ldvqe2dAZO4KlWnEl4It8ZCs%2FhOwnGvQEssfJpd1LZFpRZz%2FgoNRdkpa7qE2JWv6ny0RZI%2B7OdeMKyOxeZebr5WX0is2yH91uQ653qrCmfrFifo4E2BUq509xaiPztNlzCv%2FEZS8FfWQ8QvmlaUUJ2VRrubv7hbA%3D%3D&TextTime1=&TextTime2=&TextCname=&txtVin=&Txtcartype=&txtEngineno=&Button3=%E6%90%9C%E7%B4%A2&AspNetPager1_input=1&HiddenCountyear=&HiddenCount120=&HiddenCount240=&HiddenTtime=&HiddenOpenId=&HiddenBdtime=&HiddenVipId=&HiddenLasttime=&HiddenHfstate=&HiddenLastgch=&HiddenJyId=&HiddenHkscode=&HiddenBrand=&HiddenBrandname=&HiddenChassisnumber=&HiddenEngineDesc=&HiddenEngineStyle=&HiddenFamilyname=&HiddenGearbox=&HiddenGearboxName=&HiddenLyid=&HiddenProductyear=&HiddenVehiclename=&HiddenVehiclesale=&HiddenVin=&HiddenYearpattern=&HiddenDrivetype=&HiddenModelbrandlogourl=&HiddenModelbrandmfr=&HiddenModelid=&HiddenFueltype=&HiddenKilowattpower=&HiddenListedyear=&HiddenListedmonth=&HiddenStopyear=&HiddenBodynumdoors=&HiddenTransmissiondescription=&HiddenMakename=&HiddenModelbrandid=&HiddenMakeid=&HiddenIschoosevehicletype='\n", + "data = f'__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=ZZQZkfqysog0%2BqvJOOrszkWGzZlQFk7icDvsAiPmoJG8hMjFOtrbEAWururhmWjGxrMcqlLIlQ221ungueAgacpGp6%2FqdGW2KVpwKCiB6Yre235xV7lYD3L4xZZXaGlWnQ0ZAfowuXpZYKmMBv6BkA32oatRvqUtGXyGBEdO7JsRJRWiKJ6r82mQJGjZMPHor%2Bu7nhdd%2BJ0cV9ygll%2Fj6UxRcC7Ab4ODWtp%2BDAUCWtkwEIbT4LgeljTUgPvPeE2zBVFZgCaCjHn5QEUgtMojB6hnL%2BnHhIsPD4aJyhLsXWnoW2yDeMzvL5RLHQvhLFRhc8Vhpi%2F98dU6xlWzj%2F1P0rT7IsVeiyqPwg8vF8QPNbE9xqDt0bAmBxCO2OPoUzrrmW%2BIoKxmlAAswmVDP%2FTniGG%2F0b%2BOSvnxk8HUwLi%2FTJhVsQ0VG0FlbScV7ji%2FHT2k5N82N2fmEj2vP3wQNh2UsGw3RMArFcQDO0dwhNbsyHvDO25mlmnAm%2Fec%2FxWuMFVVqdHBwWvc6nIOEQ6XSkU8MDw8yzr8yzsyGe1Zua3S%2BCeIqQDinSLxIVeh8%2FfxYWf9DFZNJ8H8Njtb%2BtHgaMWL%2Fk52JQY7l99WH0doJzF1qSE8SU3N37mRPq9IqVY2QVO24sT11rwRdNL4Cwdm0P1hrvN57XNkKjMK0PIPVkj0bYCnISQcOyuc%2ByanbHJ1qFd%2FZbF%2FIV03vQmoBZvKjhZJ0YuNC5NfJ3hBmfkBOGfMugn%2FVOdQl1jQvsw7pXXAPQfcFiJuiSl1dVmpAIzbKoVy24ulglM2cKxkcUFVS6YykM6EUGPMFqh7pUfk2ZaqVGlQyZwoQK8C9Y73KjreZvDsStItFkYvPOQJAUbxvju94Qp66cXFwcVZMyTO24yuA%2FhBtzfna9f2MMcuBuCXGVTK1KggXxlnzXlrRWt5Ygn4O97Co4lBnw9FD45j5dBKwIk5AAR5KuI3IWFr8y0qxz4I907Vkm4kY73maBmEQv%2Fo%2BSrKZwpKEtj%2FWOfL5VF%2FWwFrOLllsQwGqIzV7rIWNZXLDEvR9g2%2FYS8JWHsKV1Kv7ESArTVJCwTKMyxGbm8DUuguJslpr2oQhcer9s0UfUW05z6ZlM%2BTKny1kM7IAxiCVKSemfwiATirmLSUXrqPqqyfztKQX9scySQxdwdXG4s5moTRnJvpfDn97dIz9Q2JzhWbsQ8Ay6IM%2F2s9lm4LbcP13f6jSd8dnua7iehw1iCMC50PJiMnF%2B6Id0wYVFyX1hHcYrfnwvSqm0dEu4fzY%2B9CXtvIn%2BupNV2g0RbYnaWirr5lecoy3mIKwtKm9j%2BCtssAKdrpmjqF2QssM1iLsuVHy7a3%2Bo4Ydw3YKugx8Bnr4OFObitUiLoxXq62sHmb9p52I3%2FUxR0gNpJC%2BJ8xE2i%2FpDNWe6CjmgLfRQCA58CO4OxOSjiW%2BFl2kPpXgBMEHGPIG1RxzgTsrjL47pXkz9tEkXKQN0IWCdK%2BIgItP8yzYiq3RvQ48GPLH1uKbmMSl8dQJsto7nrntUOq%2Bq3SJLgnkHkI6B6Zfa20WCoTbgnGdJ2j6kJqxh0z9GKAw05YTL0kjSMxzrmXCOCcBLfabczlio%2BjRpa%2FI7KpdN3c%2FXAX5S6Edl3J50j0Cxf8HPa4EMy1%2FJrdUcI%2FG92U%2BDQiWFWgwwGwk1wNnpbGrMBEDcbYvw0uYU5HAQWDlfVuXFoKRAX%2BeIrGRnySgzUHpnE2VkRLzdE1NEsAGLHlzT61K7sqUFoqOYkIg3ahQLOZZOQ3%2F%2F1FFYxn7Nr%2BK97fia05IXeZMXDBccI3WbA1WHvblGhZ%2BY%2BTGFnke2X%2B2UZf0cbhhK09wuTB00WWGUsZptSj%2FTKQqmqQxKJWqwqY6oMsOSJakmWL9HEeKW4ftkWu2UM%2B48D4LuYesDqHl0eEVFEpUdf6%2BFgGRmO6atK2R0Wl5iROZONMd57wXRMoG%2Bijl5FP74MV411ti6aR4MDoj0Fb7Px6kyEKSileXKYVm9KO6%2B%2FmxmJIfBrOfoRCHOJwwlwP0VvB9Hxv8xWYeZwSVeUbvuoVK7pNLG9%2By6L3YWwUsyxgcGwOhx%2B1zU6cp2HO2yhuQKjyd6ZSqRz715ypsrR1eEtoi44iPVIfwJqWsDbdRJDukpRGWthz01a3S2yWCIDX435kYpwn%2FVkHgmEd97VHwSuxYFT%2F2DdcwOkLlYwwAmHIJl5O1scFWicWFPpx5Ju4FhcZeoFCR2FVfQVt5WcZYoMOE1Rz2smvGk%2BJ2Nq4CZadGSUP%2Befdg75%2Fa2xNbpZw%2BjHzJZoGGt1MY8ZI%2Bt5IOmqP27rEIqAfH43LiaOyK%2BpVwol%2FVrtlrwTujIkn2nKhl4dY2iKHx4UX3ZLuRzCLEVSrZhfjo5NPzENACmhoNB3UACjm3x0lN1sN35UY4DnpSuy5ifB%2B0N6HYXGQPdD%2Blbjdm1pFDNtMNuUAa712junrcLWlS4qoc4WmzGAxnLwFFho9wZXLVfO9gLNJSR%2BcWpTIT74OL3ExZOzKVFzj5AgKQp%2BJYPaL5p1u4uZBYJtSIsFUxZDEQdDqrqZj2HrXdbIRa1NjuwOxVEF2Nd1XYKu3GogYPS3bvu2ztiV%2BGA8likQZ4yRBWHGzJDtnKKlPRjYLegNA03EnJljdupuxbwK4CB9bCjWV2LM7KLi8vwFQ0Bpw8j5lzfagDd7FyCG2LI%2F53tX0LZFi%2BX%2F55Ku6%2BuEu%2FVoIZRFePNNxY9ZjVc32UOGYh8NVxryXADC1NHRmf%2BRxxG65o5XKs%2FjDB5fBqbVjiNAHkWNLmI3uHMEuhqNqQh7OWDOk4Ks9Dxwy61elfOpW48hqACc8B2IUdCeon7KAa0p21ywXnDOm7qinu%2FO2CwxbrYaPSeD%2FnQbCakTvVK0rmEk0BQZ7K8Akm1OmVK%2BWZEfSeps1ADmBeK0FkLe5lSNwCIM12HW5u6mcFIliicUp6FUcMHqQU4TGXmZzkP6jhtGQT0DlD4sEsYZe0vSuuKzGxIbpXMUqesEul8N0vegXTpipgZe66aa2R81E31RTn3rdtbMT%2FZdayCYXOnZ5AOly8kdanS6R7F7%2B7D5vBOQ6IzxAryAE1kr4K0De0QcTC83lX7udAXEEQv3SMGZcSEujXfNVCJT4y3%2FixBVJuJRINv%2FL8ud3d2ajxiPLg7HqGoeJAaA3lVLEqW%2F6lARUva9CBwuxJj7yJKgrGqVPF6pB9gH2dMPBzQltUmF1tPH6c9erYwcfz%2BEG3rPJwKAvnwJp4IyetWs7ZPEILR976Be3V2DWVIoxwa%2BaipQmuB7T%2B3xb1YLrU65C0rodjo3rfjggWjhlCF%2BtMUl4PlDyZA1Is7Z2E6%2FWb%2FU57CpBCRxvu76diLxBmLYhXTen2afFd0A7ivDYMsOUD0RwXF6X9TPOjVybQbeK4LBzyMWsDXIBUH0v6TDyYCASsMnKuXnd9JMW5yzeN4T6ZsBOuGIw7AuOyYYc0CPV4dS4WX6dnhviNqu6YRtrkJcjxU%2BAQOjq4fTjNh%2B9hHODczjwW8a%2FiFVjCFt6mtqg06v4dKMMSkHgvkeuyGajdUTnvu2wGxW%2F67ppi3FOrWyRmVb1R5uzQGFdWYWmq2XRigz2M7U3p9mJUZjhg%2F5sAjNdwSpUB35u9VENgu6lOudNucvmpWSW2R6MPM0SHmg9686astP4PzLAHJ805OVAU4tWDE%2BGHu3B61j8x%2BTgLuGYQAZdij%2F91AsHlQ0Cn2cuB709waCkboAjTZhYdzqTeOUKEVHZAnZ1gE3qfW%2FwH8bzag7YgosIiiJ8QzfRngE2xuSpFH90mbwd21cbByWsF20MUyxVoI9r3%2BacyRIfWRpf3w1oV6qrsgIEPuw2kPXMXBC52BHc4X%2FhgvfMWlsWUcJ6QR5Yok8UuEqVYIddvhy4N9bYBEPGz924j%2FA9QRlqi1Sf%2FkRwvLOldohaGCLBYtFXb%2F1V1XgwaqtTHNZoNDB8rFy0nC7g%2BbZSlO3OZeQ6mwMagRx%2FWn19m%2BNwSh4i%2BoYGjzweQPboOz0xwO%2Fc%2BlLslKXuuEY452g8iG8E%2BlFnQ98DVDsRcirk3smz7JJWHgRDuPUsIb%2FBUVJ2MC%2F8%2Fw7ao%2Fkl3IPV%2FJJKiCNGuR0Nl7RgkpbguYMVsXLVZa7Tj7sO8ZnNX2pcxUE7UuDNm3%2FjC4cDTRGnQ9QTtsrGz69NeBpjKtuq3Vt28V18gJ1iLXI6ZQ0WUDXlND%2FsL6IbfC3oekiQNoBB6LYQ2obJzez9p3nupys%2F4z8dQfen2%2BXWv7LUC2HOQU7h7jrAZbY18PQCCAde%2BwLt3a1FycXp6sxW%2FhhTnpO87nbNXkATK4%2FOy9NK0g3thtaL3VC6Gy1cq0OAMQVgH2lySE8fPRK4PYtZhKgDaiVoQXHzxFKVc%2BKlA1bzOmy4qmm3baAIyS5sefpmG%2FiJX3yi%2FrmYL6yn7k5M8Jll9Q1gwYwTAR77lGpv330fkA0BUDQ4WQuWT2S0N65FzXRFZT1wAZSt4lysbn0U15EAaIO3QkU6Pm7vnJmu7xQ25y6BQYf2ChPEDoZCmYTJFUrWbWE2bhufhyDnIdshPM13zDUUrC5Ufgi%2Bl3cjJTp9HXgPlSIBpfgXKV0QPw6U0Rvozjqozc3zmV9o5rDG%2FMReMxY3zaS2Pyxjjw5mpV%2B32wuoSM8AX1ex0Meig85aLbnbw0Fi%2FIGs%2BdvMSHALTcRTp97RRZiA8ujqzv8BTBzevDiMcSaGqSm8ou0Zl3SyISHRIibScFtAnM2XZ6gu%2BATpkUTblq9LyDXh3CWyz60HsGpU6%2FbSMRp18bEYXsnNPIPnnmUo6ZDn8RAfde%2B6jEFarWtuWhKjUFUuH%2BPopcZKKRp9hNxZEvQe1v7WMVL9QPxKUGacwNu27QfzqgwMb9Z9%2FLPn1rTgnXwisRb%2BInfK4uANLGsCipMHKJOItZ75h2ky2pnvVZ5JBwls3pS7J7V6EwH54BPNiBpJHRvDnOtXgrIvph%2BDTJE7S1LAhUt8BJpYlCkQS7v4uKFRBCOUOZqU3cxkH1XHbwUnRKp0%2FctkRrBXJMBiTvpGI4lU1ck3Ax5HgrOu6Dbb7mCIqQtuOc1MQ7mjWdojvHZY09GhvuBp9pMH%2BdGV5OsL4C0Hj199bB3HrUPKOSwn2CRjCwrxuVAz2sXXwm24GoHP2GyjNTT0RsPL%2BquurcQTPLmy6D2wlVxBnfS10T3lzmRy4Mgi0yf8UGs5q37yZeFKGgMxsf9PmRH1KdPTpGuekN3VKnP6ABaibOtsd%2BMtkozub08j5NTSn%2BgFCNomZ6jKKG%2BcSaXJqxtyPPl1Rl1Q5DY02XWbp5t27jE%2FMEVMV7fmwkaRCB%2BRXerwgxY3JdQzNlGFeUqvcZfGZF3tUtbZUkqyKivLmPdrdsUqAUAOLENJ3Ev6xwtl136OAKm%2BcrHciN407QauVYNTF%2B4Z6eeNI%2BFxqNGDigerNFL92w58GQ5CLXkkp5jP6NeA1fQ88NQxQAIYUYF6m7dXCeKOFVQnplRCl7TdMi67nptnO%2Fusn1uGU04bAZ5jgyNKuVgABu6DkY7NtBROW8nqbdO1hbtWGScLjkM9WJFTbIl5LuQIx2aUX8TgMravqBd7hvxB2N90VMSDHP1hkXzP%2B8DAXL1AKyAZkyfT3vCxIm1bu3XxL0opudcnIO%2Fdw7pvHNJ6E2wvNihH%2BpsNni9LXkQ1pWU8CoVooIyoVUoAvQG2K9TjL7IN8M6foekJWqtdjKA4r3NaNY0XDI6rdpMIAMZZ4wWNlbeD5P%2FZvOV%2FGXRHJXjZO6iukwBWZtqeQx1NvlrQW6%2BBiSDMCB2fg2W%2FLuXfDDouX4Wjvr8FOTfscJ3WzTH25t1aaw9Klq2ONjk9NCRMvEmBgj9mEq2sYfM6yNSlnC1aeY8Z3%2FskLj6HvvbAJQ1mXw1n5sojOHTg12Mg55%2B8iIhHVstgFTUiu2na1Fevfi1P3NQN5ewJi7VSvGUuRBsYEDoq7b93vVocu4rIY%2BgCjIHl6xdJGTvUFK9aqBkGFZwzn66vOUZqmJw%2B5uMefw4kFVomUOKb3havP%2BcvJTSCUsFZzuLgY0CBFOD64gPwILsujDC1mXhZlqC%2FVlT%2FyWF4jEKqq%2B6y3fqzsUgd4ZLeBgEkVziGM0pqCQOxdw7V0xcoK%2FjeinNji5X%2F5GAyU3PxompvYSqjEO2RgjQa4j%2BKRqFyA4acz4YQwio1ap6dPCvo8lxYN7c2NsO3GqWg%2B%2FnZXWoliISFzxr7qAzoUyCzqYSSFq7B6e7eC5Edr%2F6D%2FowqHZgUDReIEIxHe2hkOczACRNTLj9CrQnILcgYGtrmhP4pCGA5NiKgUgnIa3iVmqURsjRQYEa7GNeLax2k1UJ5s3uYrdJVgCp08Ck%2BBYtibN2u3kM%2Fu5r%2BteSionlBrZdnW5Gqy7UdkdphURe5rq0I7omTAbgq1TrOdiyAikkZe06%2FftoTH8uORcD3SuNRoDGCzf%2B6UU4n94cgsxE5Ob8W%2Bvh5XNBOlRpZEBNeIAGJyoM56TjtBrmtdnrpbWHIIoNZe0%2FS9GYFB1QCKS8kUQgzoCDVtsYFIT1raT7%2F0opVZJ%2BaQNOUieFeaZ4qcewc%2F9Nk3MaTwS8JFQPQ%2FPnbtWMX3fR8DW6oZHAqzUG7ASfBwlkZeolfVbMawtPqgMFKOmyamVEJGcO%2FcDtfGRcA7Ik7DQEUk8rr8ED411u823%2F2gkXcgUVTEjs%2FnubFztMC1iTLp0Gr0Fc8LXGs7E2AxbU%2BGScggr7L37Vpqa9FVxeG%2B2iZ9FHX6WsRHag3irfn7AOPNVxcI%2BvyCWpW6%2BZglnj1E%2Fy8juOrrp19W76FraFGOpqG3McHNgfTaeY6oHOmJhxkah7SqWJye44Ep9tXzGm7pBuxTgmKhYqrPFar2mYDllIxjeoUOf0WtESLLfiKjzvUuyh6959TaN99Vjdn0GA2Ap2uRPNki1B7kG2VJyFYp5s06hKQkPxSdOOdh3OEuGaTRDcMZLvbTjKv9z5%2B66qolpNiT5rk%2FJBuqjB08AlR1fYa4MtFKHZmJg3Yt%2B96prulXSySsNnJIKDvv5Q8TQWUvEIZMtNKiNIK8LEiiEVqzsfT8S8SblHY0Xq8XYKSh9oGZYUAFZCdbufvbffYO6k%2FAL9y9D0VaP7EDOlLbMMYMG5OlqkRLOkBUeSSABZv18ceKBiDwYT370Jl0b0JzMg6Fu7d7QMuzojc%2FYbEKJbnnS2xBZ0SsXUlJ%2BCYR8Vtn2UZTGxZGJGKH%2BRPidwRQE36ZzlHQSYDbo7ZCTb5yaXd0CJpZfoIdpiYZSG1bsoXivD3qJsNXQhZ7GjQ8MWu%2BEoekeGNXoLucFZo8uhV6eJkzyCkc5saH1IlH8eDrsIcbS2B1uFPUDuYlIRgsKNoIxarcfTJCcntIt%2BtMdn3KfAsUTFmpvnqbnsIaleWI1FvynKJUl%2BOPR04oIVl1e0la0trrQPFT3QX9RYaxDQOGSrNPK7YFSS1Jfk1A5rD268RbcM0wbzWYb0s%2F26aMBisdTPOWFe7bLOR6UTEQLjF4%2FfqyewkGCZIA5pwouVYFkbDR4k2KM5iN5C%2BechEZ9G8NvVdEN%2FrOTP0JFDrf%2BHI0UJliCogD%2BRV9BNcWDF%2BPfPDGrwAxO%2FkM%2FdIeB%2B%2BnvG7foG8LAK9w8jqIv6%2FGjuXaK8XuOitVaMHWrojHeghwA3AYDK4A6bI%2F%2Fum8xRSUCQ3mlXDAstpwYHBM8nQuu%2BnP7NZfxzO1l4JYc6dyQ1uZQ%3D%3D&__VIEWSTATEGENERATOR=B80C0CC7&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=SEDsOx6ThH%2FAxDOdVGlrYW5fvY1hKD1DBUykqIuJGFzHvdtSDEfSzTlOLrgsxB1kcXaESBxCq%2BrS007PVOAe1IPf%2BEFYq%2BRvNeF9iZ94UFJ5%2FncREoxyZkvB9YBZ5DbTviY5E2hPgyAM3Igj1poWsqwOFExY7KmCH0JfI3csIRAb%2B1qSf6OHfIHLHKG9ksQ65brC1REhCW8JMa6cmecCcQEnDdS7n%2F5pdtNdMW6CwvahKw6hVk3ZNaowBYXSyCOgKkFFcOAR3MZq6NCBwDlzzulurCXsi%2BDXnRaOuFE27JbMePsZ%2FFOM%2FfeUTw%2BvoxOljvUYtIvo3iPlSer%2FIxAnvSfcsMtTxtX8scTexPdHgKCoOf0OusT1AvZgOVwhm3O7GSbTtFejcDB2CWVCZ7bXv%2BUB9J0Nrf7DUyz%2BRNS2s%2BUtXH0iKlxebYIJstowHA5zXuub8a%2BDuM79eZ7ZsampqRp26IknqBIAmTqWgO1aXlKhtKk%2FNjcCQ5i3Nmi8W04ZTZDnDKixMUVhByQnt%2B9DHvuFO8Apv9CMAI%2FbA7Sudlq5SZAidoSrfmOZDEnPoPQxowQTpRbGCffwyMLo%2F0%2BGCx8Z1dfDpzGUaaofG%2Ba50H0DjKal38hS37f3oXQnV3HA3KRExVhX0njRkkg7nHllsAVWnSfG1d%2BgR8OBf8PKH1LPJ0IlnFVi6gCBoKN22CJGA4F1zM%2BcTlCtVg8O69KDRsV6RIlMmD0p10g%2Fsno9MOJ%2FPOfc7t5UqMz7BAITG8lgC62YvPJ6zeZKoBQA5uIf1BcqfKLgS8KLLCuJh5JhpwrodGx%2BdyNwNOBNO3fTB%2BUqNbpcnEtOhHq%2FgL%2FR6RkQG1szqheEGMwek6XLwM6X0opzT9ruLUrvgXvm%2FL3dhiNeLLPDYh0%2FsfEzH5FJHtmiVCspGYUcY4TqWhXqkrxLg2DVAfbyUP95C4K%2BeAuMwRqpjDXxPqYsnbrNV%2B8uwRKnIiSrtPAqKMGPtS0iScuaZtQ9nUIpNuFdbfnDF8vHvOL6kaUna4zwEE9MaGwnNorCMhJgqcS%2Fl%2FlXeWfchWlegW0Ao0lZ56cQFjeG2NxLBBFDRA%2B0TJfRjnAKGQcHHluajbAvPnOdfjwC7cugPFcKfhznzNpOcPtlvjtizhr1ElgKNcUwyd5Wh08ummn4zjyC3rPfMGBbkid7MJ1tIPNMFOoDfb0zFdV8dGc6U2Xd%2B94LnHonsMPpJPiKp6I6zU7zvaEQwJdi6ZclJ%2B14k45qN7qklfdjThapg%2F98Jhe6MfErdPYZLEDBX10IwQQO%2F%2FHsl3dzsJrBfGUOajQ6L3fK7BEJxIqVrpFFQBHyLqM%2F%2Bs7kEdV6OcU%2F9q6VZ1xZ7UJHZxZqS2lx8S4ioAFT9z3Epbcw%2BPI%2FI1eQcTYxnpwa6iQV%2FZhfIhCkMnNDom1GpOBhuFZSvVn56IwVQf1cBL6dK462gypGeL2wGF%2BtirR3oXDgyKs%2B5cqfNdzDFsGnXkBs6xhOy5DiQbDrRDdHHTomZUH5j4y757FHTZGr9UnBI28I8KCGBMQM4ULR8PNctKeGNmh%2B24lrL1wl7%2Bn%2Fjr2iq5NPCyK3aPkxcIIQ89FXSiEBvv1mfrS6co4Rv%2BYHyf9O8VWNeIL4rODsMP8uNSI12%2Bg%2B6YNJ%2B2trhDN1Joyvj4p02GuyNs%2BmYO41rLM2UKFNg615oFmQJ4w3flfb%2BxdpbqmzCCFLBgXNQJ6%2B2uZu3hEk3suf8EbSu3YMa%2FJFb49m42Zf6Fzm2xAp2qCU7ytBUga7dHixkG%2BE7LOlewgpbrrWTGUEQSdEzegn7h3ufHs1keBk6g4x4M2JqWbUCt8pl8Nh1v8%2BQ71OyhxWhjYrz7u34oyPIpmcaBSjQP9GmdSzZ1MLd%2FfqO8Q8bshfF0Q5vQrNWtdRiqGNyOE35FyNij41HNmRQpdzdgUlEZsgcnPh6ov8iUW7vJDh0V0fOQ%3D%3D&TextTime1=2015-01-01&TextTime2=2026-04-27&TextCname=&txtVin=&Txtcartype=&txtEngineno=&Button3=%E6%90%9C%E7%B4%A2&HiddenCountyear=&HiddenCount120=&HiddenCount240=&HiddenTtime=&HiddenOpenId=&HiddenBdtime=&HiddenVipId=&HiddenLasttime=&HiddenHfstate=&HiddenLastgch=&HiddenJyId=&HiddenHkscode=&HiddenBrand=&HiddenBrandname=&HiddenChassisnumber=&HiddenEngineDesc=&HiddenEngineStyle=&HiddenFamilyname=&HiddenGearbox=&HiddenGearboxName=&HiddenLyid=&HiddenProductyear=&HiddenVehiclename=&HiddenVehiclesale=&HiddenVin=&HiddenYearpattern=&HiddenDrivetype=&HiddenModelbrandlogourl=&HiddenModelbrandmfr=&HiddenModelid=&HiddenFueltype=&HiddenKilowattpower=&HiddenListedyear=&HiddenListedmonth=&HiddenStopyear=&HiddenBodynumdoors=&HiddenTransmissiondescription=&HiddenMakename=&HiddenModelbrandid=&HiddenMakeid=&HiddenIschoosevehicletype='\n", "\n", "response = requests.post(url, headers=headers, data=data)\n", "\n", @@ -56,7 +54,7 @@ " header_list.append(th.text.strip())\n", " \n", "# 获取第二页以及之后的内容\n", - "for i in tqdm(range(2,340)):\n", + "for i in tqdm(range(2,568)):\n", " __VIEWSTATE = soup.find('input', id='__VIEWSTATE').get('value').strip()\n", " __EVENTVALIDATION = soup.find('input', id='__EVENTVALIDATION').get('value').strip()\n", " # print(__VIEWSTATE)\n", @@ -72,14 +70,14 @@ " \"Connection\": \"keep-alive\",\n", " \"Content-Length\": \"11300\", # 注意:实际使用时需要根据具体请求体长度调整\n", " \"Content-Type\": \"application/x-www-form-urlencoded\",\n", - " \"Cookie\": f\"ASP.NET_SessionId=aw4ajyrucsewefwug25vnpfk; Hm_lvt_ab3baaa579f771d051a6b0baad5a8cfe=1739159639; HMACCOUNT=ABFCA62083E00432; td_cookie=630612599; iswatchme=0; setaddat=0; hksdms=username2=admin&truename2=%e8%94%a1%e8%8e%89&id=7804&wxusername2=7804&zb=false&qx=111-11111111111-11111111111111-0-1111-11111111111111-111111111-1111111111-1111111111111-1111-0-0-0-0-0-0-0-0-0-0&login=1&actname=%e7%ae%a1%e7%90%86%e5%91%98&act=%e7%ae%a1%e7%90%86%e5%91%98&username=admin&truename=%e8%94%a1%e8%8e%89&userid=16489&valid=True&wxusername=7804&uniqueKey=7a6b7018-b9e0-40ea-a99f-714205c526e6&timeunitprice=0.00&allowquickout=True&telqx=1&tel=13688013403&StoreName=%e6%88%90%e9%83%bd%e9%80%9a%e9%80%94%e4%bd%b3%e5%ae%87%e6%b1%bd%e8%bd%a6%e7%bb%b4%e4%bf%ae%e6%9c%8d%e5%8a%a1%e6%9c%89%e9%99%90%e8%b4%a3%e4%bb%bb%e5%85%ac%e5%8f%b8%e6%96%b0%e9%83%bd%e5%88%86%e5%85%ac%e5%8f%b8&attestationTel=19982143399&StoreName2=%e6%88%90%e9%83%bd%e9%80%9a%e9%80%94%e4%bd%b3%e5%ae%87%e6%b1%bd%e8%bd%a6%e7%bb%b4%e4%bf%ae%e6%9c%8d%e5%8a%a1%e6%9c%89%e9%99%90%e8%b4%a3%e4%bb%bb%e5%85%ac%e5%8f%b8%e6%96%b0%e9%83%bd%e5%88%86%e5%85%ac%e5%8f%b8&vipid=SAAS7804&zonecode=1007&zone=%e5%9b%9b%e5%b7%9d&CustomerID=11717&IsInitialized=1&ScrmModuleValidTime=&isScrmModule=False&isBasicModule=True&isTechnologyModule=True&isPartsManageModule=True&isBusinessImprovementModule=False;Hm_lpvt_ab3baaa579f771d051a6b0baad5a8cfe={now_time}\",\n", + " \"Cookie\": f\"ASP.NET_SessionId=ciw1fuls0atkqaj4gkxhzngy; Hm_lvt_ab3baaa579f771d051a6b0baad5a8cfe=1777102209; HMACCOUNT=0838F6FCCBE848D9; iswatchme=0; setaddat=0; hksdms=username2=admin&truename2=%e8%91%9b&id=9864&wxusername2=&zb=false&qx=111-11111111111-11111111111111-0-1111-11111111111111-111111111-1111111111-111111111111-1111-0-0-0-0-0-0-0-0-0-0&login=1&actname=%e7%ae%a1%e7%90%86%e5%91%98&act=%e7%ae%a1%e7%90%86%e5%91%98&username=admin&truename=%e8%91%9b&userid=11955&valid=True&wxusername=&uniqueKey=8472d715-0f01-4b27-aa1c-90471f6cafa3&timeunitprice=0.00&allowquickout=True&telqx=1&tel=&StoreName=%e6%9c%ac%e4%bf%a1%e6%b1%bd%e8%bd%a6%e6%8a%a4%e7%90%86&attestationTel=13952699256&StoreName2=%e6%9c%ac%e4%bf%a1%e6%b1%bd%e8%bd%a6%e6%8a%a4%e7%90%86&vipid=SAAS9864&zonecode=1004&zone=%e6%b1%9f%e8%8b%8f&CustomerID=176575&IsInitialized=1&ScrmModuleValidTime=&isScrmModule=False&isBasicModule=True&isTechnologyModule=True&isPartsManageModule=True&isBusinessImprovementModule=False; SERVERID=000e421eb0ab0efb9790874bd5c8f758|1777108310|1777102207; Hm_lpvt_ab3baaa579f771d051a6b0baad5a8cfe={now_time}\",\n", " \"Host\": \"www.kuaixiuge.com\",\n", " \"Origin\": \"http://www.kuaixiuge.com\",\n", " \"Referer\": \"http://www.kuaixiuge.com/carinfo.aspx?clientWidth=1275\",\n", " \"Upgrade-Insecure-Requests\": \"1\",\n", " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0\"\n", " }\n", - " data = f'__EVENTTARGET=AspNetPager1&__EVENTARGUMENT={i}&__VIEWSTATE=b%2FmGA0yMzpCTxjiaHusG2Gn5HSGj9jBFD%2F2lyl66OBLeGRRNcV0yyA88TTbiFNEGZVN%2FqtM9tRa%2BBCTZM0wDNiUrgRlOTfFscCRTtEgGGVTJzVoWdQfI7Ardd9TI1gw7o%2B%2FUzIq63mh8GkYktI7lHC7XRaZB%2FnAGKRI3LXyen9KxwfudMQSOIXbtvGTjctr8dSZ02Z4wiSzm51VMCAqFXszz7porSFXkiGnrXQcfc3c6RlFxBCrIfD07eFOi40%2F4e9xSp%2F80OiXrTDEHUXXaSyMAXRnrwvNWsM%2BbbaydAPqC%2FqTCuuE4lJvIGbIKMn31HuGwSxuaRqM%2FLsGo2asg3uRAodzgFznlh17dYuTonmKkC8dX9wnxDUy6UYTvyVT%2BWPBoz8mNx2dd400yTuSjCGxtzUYibDdM7x%2B0dygDm01aDes40aKLxwtkwFQD3hkZ98z2UDnqOU873Nr4kLUqujtSlTuq04SQGEZwZsuw0EYeIaaCDA43JGm3ole5pBPzUYqZfUNRxjdG%2BwCO0Mt7SMfjNpwn7F8RpYCMgtV7aN6zSmXdeKZG9kIB5i8b%2FPmbubBm%2B0hXiO8oVL5H8tKAzF%2FKrWwesqg8ateCMeUSCePAqSKvKIMei7G4sanb%2B%2BgNE7LnG%2BbkEowPdTX75bdKOf6TOdklUQo0AgIINLTq4rQra1A25mGQ3aAP9Bm5n8Y2zgSWh2887jnqT0xlSOgrZH2%2F7%2FzOjW5tr%2BhcpqAuqY0t54%2FJBhsoWP0TVnAw9qIJvDu5tcqilBcjdXZjn%2BK7ZHfi3CVVeK7BIZLunPSHicCDBj2%2Bs48KezGyQgmX8SSabBMhJp1EM3RIgrYntRDZHfcMAVVCLmDHiT2fMHjLEMgEpYDTuv51kRbKsCS4Sf3Ie9NOMaj8sHkIVo%2FKwzdfpr7Q4M1KByWnjD4DRWOcxBA%2FoSAeUU0TDohZcBbhR8oK6bJ9pXNv04YTIHZoFskRUXdK86Jj9Y60eXQVbkKHKWg%2FtpBPE6c6RT4vhWFknciXNZrn5IFe4fxkeugCPV2lLzxc06A9053SnwCEbyXUILqTgLtOMerDn5OwOVX1LuMS9mdgJ2YyB6Qdi0WoaBirYkpKLkVEvChKoUT1VbFYrXo3aajeeWbhMgmHJaD7%2F5StB0g51hp6buFg%2BRU4E94nJAgCQhSHwx91tUXDL4KKVwCbFhyGjK0tMtGRixoRY0R7AP4oBXAE2U56BykTSnqmltvs7rg7pjuBG9POeTgYerrdN4D1vZsEghwjkBrgt2MnFhACCBn6mD5nzo%2BZ58a2237pp00%2BgiIShVoeg3NQ7EQD5HWwvNRBvuRyqpNJloCOhiiGuybreANqjaLm442VlorZJrPYutMHbvMhce4DVW04wfZ1SeIdpoLZ3Y8Hs%2FJ9Y7QFzMnluikH3%2BIkki9fgAG%2B6sP2RyHwwSLdqpF42ZdAPTNm39LpP1y17MilRrgI9q5IUsHi3jpDnXBNwiGb5zL26w9t0NRgrZsJvRfKij%2FimJ5xfkVNHJMR%2F6FKB7bUZQZ0Jo7PEs5qFBb2I6pjlce2jtgLc0gOTuAzI2QKvEchcpLb8W3xFlgLfAGFsubnD%2BvVm7eh%2FGP3FHZPxx%2Fzrj7vYVU%2FoMfuvbkIUTPUe5hYI5x0YENez7iHuV3%2BU6Sgq28IEMJ5rLLlsd4i41BMqXWbM7lGzYVp4v7t7wGWPcm9pCeBUwn%2BUYW6jxXr%2BlKj2jTsfwDYtNEf1CFQ2jbihi2De72a70k02tSGwrYY0%2BUcb%2BQ7gj4DnxPscYNc3RHTnnApn8yThGtRjxChun3nTBecKx1Qa7dPEVQLy01HduJjyghUyq7CsLkG7HeLTknGRtniZwoTCwmbS%2Fx9q8Vhe2rfLhSrh0Ki8UeUzxssPkYhr1FqgiduFpCmBLttMpPHrGDCJXmHdfflT6ZiHtE91SdgZbynWgQY%2B0hEcxyR5QGPQqm7GYZHubAufDdepsBr4b2cu29J9k8FKE1wQFRp7V3EltJVZxw2eWy%2BIlr4vNlUg78Eh7AzM634xm%2BtVQhcuVLwLNfTuV8B20wjdbhMMoptNAOHdS%2BnGVVG9URYy7ts2Xdlidmj2Vt5o4wDn0dj3w08oBG%2FQ0GBZ5tt38SqbdP8t77VpHJdLGCSi42JPNgU5WqKZkmzMKQw3KU8bHV7X8iiUaJ6%2BOqG7UweCSr9KAudNOc9Mx0qxYP0MlRHixyO7iUO35qFKfn80OKMK9SNgqFe8ujmY%2B0b05%2BbfixlZIXyk50q9JHTsAHSwKt9U5QfntFiHzduQEriOiJYHcjV4CZ7s8pFs%2FUDsYQRp0YJwwFP%2BjqFqZN7fu%2FLr5RUWVmQl%2BmRogzWHgrgPhVIGjFKcSuBiBhnyKCyD922f3PpwfLsrzFVoMYoqryuvi%2Fg%2FDh0jTAjXBbI4%2Bsvp4IX9s2Tw6pB9xq0dz1ycI1T%2FBFPnYADtm5hx5K1gYLRkI0KJt4hwWi0gu10M%2FoX6Qgu0PTnyNipKaWr%2F1yutCzTL%2FXLwOf2fkKn6L%2B%2Bg%2B%2BxpB4%2FZdryC%2FPTwFzGJR4nr8dOn2mq%2F3J3cbG90O6zZCwONz4hhdoGgP36O84%2FF9OleIe%2FWFOjrwSl2skIzDdSBISOz%2FKnDVJ2Om7d9J6W3OJza2hSSm419cGZbRe%2FSEbx%2FbRWWGN9Gv%2FZIE6rn%2FGpNo%2FcKprcW3GE3lncPC%2FpCCKXrlk1%2BkC%2BRXOAUPyad4IAtW6ar2EqfO%2F9ZO1wyx4LtYXFLfvtmqJoMVvMgCaj%2BI8IgPsuG8aS8WW4eqPzL8XdnlaE6Q0dY8wPGOGY8MVe8aYxDiv1RrnDtCb2V0Pjoay%2FNvjzpWd5xkoyXd2UnLWc2dqcZphXIMXWVTkrgqid%2B%2FfQaM%2FHLNkve%2BlzVu4%2B7%2FjO0J9BWhds0nQsAyXfMgXWPY0BfKN4hUYtBMVwxl%2Bl3ES%2Blto7NaGjjdnlP5SZoAvrPd7PkWQsKS7OSfDLX58qQTX0YTfiRfy6gPam9Myyp0qV2FgTUQMOb9Gf3ktHgniEX1aNqtwvLcrf71fcu3MfLBkffFT7a%2B4H9HizHAZSHfsjQwTARKgfNavg7Bva3k9G2ZS5xLm86he1fsa7QlGdKHhV54NQmqjaVvo53MN%2FcxG0D4y36gkX2j0GVTiG8ULPY68WtYywxmhNW8cfmyBFXxPaO%2B6TntRsuuUYQxZd8Y5iEvuA5MM0DWPAhwgKQgHgPZN%2Bad4%2FOyo5qbTH7pDtBoNyoeBjKnXWiJe0vGggGoqZcjpwqZ7Z%2F9s2qJdmcAH5Hr%2FbG8IbcFB7tB28dwDXY0gSScYlBMwV%2FWSb7rvsUvUal2%2FjW9%2Fgk6edNmYVAiIPZBKFHqKALjVJfy%2BiNY9cobAhlwDzJBGIc7iEcnuuIz7w7ZgITI7W2gSKtHqZVoc8Cm0i74j4tAd7%2F7%2FbdcrW3hrdCLiTIAQqQTIOX%2BtIz9HMVR86qPvXh%2F1Rgv6FO%2F6uvwTmrYP4K635owCQVgVsDoJZo2csKofn%2BQQytqrzfQMKD9Es91qCxYAuzYAy9eprDfYcKHe7nW%2FuW5bkRzTzASHJ%2BibrMq%2BgBEuwO%2FK%2BVoRjFD8v%2F4RqQgABJaGFRqeDzJfGu%2Fv72S9h0RbUfSF8zFsDs8QK7bVtuH%2F4H%2FIXtb7Fqi9foMJZUDKajn8FTGGr4aKsBmiAd30mWKxihfl4l1ZAS1xl7EotxPcJZAkppvdKLhQSLXOCHSJlo44fhQvnwutK3cq%2BPPu5l3tB%2BeYtYcq5JFj%2Bd56o0pcEQUzICFKdoO0I9vDIM8eXnvwbvkTmKfXeIu4aQHrBgQ2PERae39rejlXeTxC9VPj4aT%2Fb%2Fzoo5L8%2F79jp2%2FiE2wSps4%2BrwtME93VFnoFPnPHsdQ6By92qSiRset%2BKjMRlo9JGZHHSrcntFq3e0CcFgn68M%2BRJGllQ%2F46TfFnr1eE5oqguWcO2qCCyHY8p0M%2Bt2qJBgHJaYtrq92gZ%2BLGNSBaPEMD%2FsgBocJSV4trstlwNF0CMqnnTteIVfPlJFFaXZabJ4i1AYH2p4kO2RbsK3bj2zqGQ%2FKw9AcIgV6nzpGbGOfX83FZkk%2BQwpRuJsZMkZxDvGjzxabX8KEKd3LcjMPO80m8%2F2cAvULG%2BRUHvBzhz7UwHeAsKx8fFYmNVtclzLiwiz5i%2BSnItD20W7CymfycKNfnxxefChVndeuEJTYRjPBdd4K3oXHtg%2F5sTpRp8V3JPUFhkTA4V5keUnZ%2FN7LDjjza4PtExBECqQioikEXTIcGogeSdr5L1Hqd5Uh%2BQ7v3X9gKDH078tqUUuM4f%2FqsKmyStD%2B7o09LS1AMRpeK%2BFrVWamy9p5Fq4Nd4fq1d46LU35zlZsREt%2BWJpJlAFYU8muWI5fDUxHZxk%2BV2%2B41lY0fGvPDvRNpd0pcekz2CLw3saxUVhIx0Bgxy9gls9l%2BMPoFAU3EUiLyCWrRGV2%2BspWqvnPgyP9oEbsFmliPBZ0omdU%2Fbu6za1YjKRZL1hqZ%2Bvt9T0PGpfCaCXll%2FUhsZnsgqkXAl5%2F9NVFp0far9kV8pYc%2BNwxQzJtHkx1BGAGBoVUSg1enmB5jAIboWqXUfrXhbN5%2BdiMuGRKOK2R9Cw1kJY%2BX35sw7m%2BU%2BaYVl0utoyx6pflFPVKs4PMYobSTL8EQ056iEnCU7nZOUtxmyf7rcPrKre4qQj%2Bf0B%2FDDuWcPrZLV6skttLsXb6mr4Skp4lN4f7auI9YzZ3UgFL%2BEEOyD2gY3vjeLVgUPheQjojsU%2Bav%2BsntZB2lRZhqx1vL9y26dkf8jD1gUVe%2FnclpyDQDfvKuqvM2zFT%2F6%2B1IU0UoVqQww2QU11v%2FagYpXTorS%2Fmj5hJyS35lXliV0LXTRotBH3f0quSh1imoiRyD7WM8ustTyRckYgZfVfzd86IiR3xoiVmWnKPhC4xb1Hqa5sBF5FScTnf4MS9KjuYwOQ9uiCwxrDs84UXyih32YI6OXKOzUjZiKdfOhwYFcZlUBe9JbXglH1ajVRP%2BqYfDwMx2tenU1rhaW90EH3FgdzWe%2F4%2FP%2F43tiYW7NUgMNPv3OK87G%2B4EAw0YL1iPj5tVcToCnHWYexi%2BFKUgNw86y1s5ks609YBlTN6g%2FaMTUHYeNYuDXwQR7%2Bb3XL2OJwP7NWquYPeKqTwpI%2FuwYOWXoIkA9PDnfuQJPDGRO%2BMS4CYYK6CGbSaAZzJs5Nr2Lw1DBeappVk9loQ9366J8dP5pDTUDKnFVDP%2BcuUavyIVCVF6pWVIMPMj0lD7d353BDgcoVC%2FnUkS78gHDskIjU7gG%2F2V8mlSqhuOgagOKw76zxppPV8KDUU6xTCPZzzWMoiuSAi8tE4fWcMc22mD98Dow6rxGR3GZ4ObvcO5QwNzf5859xFS6iX0x47bJM2s0ZLatWjU8f3uIdATFhY3PS77y3BpaUo8OUoQokU0nK%2BIwIgkwv%2FmidWR3iwr%2FybvfB0O81bUELDYoczkm7QlvTtaR9GGJOgiwx50SVC2ZVWtQwFAFaUogK65LeCT47C19cS%2Bx3GNUYn5o%2Bz8zStz7VQNR8uATNXAc6uUkf1jeCsqrLmIPQK9U8O4gEBEFu7%2BC2d9teiqQcDZ46N%2FudvMbrP5xnj0I0VDUa5J0p4jfnAWd6fBsX61wqFnx1O8G2AQugAxzNTnjEWcCGHaLQlAMcRLj2Gblc7X4ddtuyagr1jdJYv3sjzMi49JElhLg8chHP8dONVsbc7ciAzVFOse5arc9FZ8P1rcHfpqHOr2qDXFfe4nbeM60RZNtfZMRpAqL7L%2FY9eQVZc9ZeZ2xKMrNDVdxRB%2BJkX9uvKkFHfbbBvDC8MbKFXrBEz5cCBDOLCawd4SeWl9anOUIYX0VGNVf%2BWSY5cjepIZHi0CuUiPNs62FB8mCF4C5PweS8XDWl%2BOe18dm%2FMxwdhO%2FIymgNwp6MPhVOGv3c%2FOYXB%2F243DxckP3qyhE6AYoyFZTey33E34Z%2BqizG2IdWyKErhrAlvf4bfTp11wxiQd9uGT6BANdNxGfWFQeMmtGXwEDi7BYXl4a7S%2B1Xw71ClAKEB6q%2Bb29Lb6XZItlu2%2BaHp%2FQ8eMnR%2BHZvm8OfM%2B8EJnTZnXbZ32n%2Fdk99iqyPSLf6NTw%2FOK%2BStXIpdrEdHKFONzNwAmbZpqYrIb%2Bjwb1805F2HlfYQZNfUnpQIXXmaf707bSwwAR5KmBWbKVXQ47BmIYsuta72wIBP%2BsdMLWtypN3sinV6j0iM59r4RlJZr6zOaSrwe3L1UE8MFX615bvHJDBo1RU7%2F0R%2FfEnLPtHT8zjJ%2BilGXMDd4FzIbUoLxLC9mYdxJ9wK5WVR0Fp1xOQQrG4g6OyCwRm%2F14GaL2BWYrme9%2BjU%2BoCFjxPOL5PUE1npnrKW6J2pVpKacgO4eNEig8lU3b%2FA5QVeSDB%2BDUXk8vru3RBA6pFmUSharWtecwGBoVlQbjKwAkbeZhlXLNubnqg3CcV4sOuSy0jx11gMf1IMESIj8HrdD50kbL%2F4YXCVyBo25tCWFc77aMh6%2FaMY9DAjFnhtS1qM3%2BR81HGlFa0fpru1Ifn7EPx2TczyojttTsZsYcxMlyk03ntAtvOQuTafjrCHmbp45kBGWJ09qfVuumwgd1dmZWYm6dMX0cyoxwXED9K%2Fov7eMkM0N2AErB9Zq3FmUIPj9pL5bZvOhaZRvREA8Ln0E9HanvzhXJnoi092EtVjt4Qij0TVyQIVjL3gFJLV3F09N2rpRGNxZOQUvKODMssrHpIjBHtlDdVjaTZTadaSK%2Bxxu8Ek9i%2FO9n9y1obNnmQjPk9pAXeUiBxWaSmP5hkpSwLXNsDOI0UX2kw4Shdbk%2FtT%2BojPDDkWTdHfth%2FRvLdvls4zWOEIvwDlTKQ709Ws8uzcEYrA3IkugroarCtETpHnfuwr5WMx15mj6DjJvP4SaxvdqiiC3mpRnKj16tiUh98Ryv35gFE7LVZDjkcLt9g1jtt%2FFPfliOtPF6lhIqp8MfZeLGqY1pW9vDM1WX3sXhSeuaakkok0JlblMMX3PD26d6xZgyDcKXWAAScqttezwEaK9ApIkPOAaIfyYOFSM%2FvJhn8X3KtCbl4dheDgHQ0jK0PxR68L1k39MXelvHQ7mSjissBI18T2oBUIa9aAhjIYtzvKHbPXZOl9qYd7WVCEVafQo1tCC0ubBMw0L%2BItM%2B2J742f93JX%2FY8wfHmjH3NG4MHwVnZTP29s%2FjoZTzA9Pbi8z1yZa%2FZ1I6Ot4XyP4vEqfl2Jv6FBuA%2FX%2BfANdsPIkoDjmYuBZolXw305gdbBVJSU1Z4r2x%2BPDJAwO1hGqOY8%2FjM3ISk6MZCWk5SFHdBvEZbU3IBgrCewkkmb9FkO%2FUqlSbSyUE8yic2sO%2BAnMOx6SQlJB1c4bzeDWVmtk%2B5U4qEr12N3OyWNXgP3TYNZayCMSiPvE5LWqswDo%2FDH87mAJq3JtqIOW1phIu4vRdo8qKxdVRVq9BvZ8W0aA%2BRLWJiL9pjwCNOQqpTg0z1ivuBgUTJ%2F2Bs5qCy1ekaJ6K8xRNQntbn8NLotWX80oDJxxp1tkV1pXQnqfZud%2Bem6OnTaCWfO%2FmtNHdIL%2Fs3r2bK6VuKMP8z%2BK%2FKvJFkR4sjIZZ9ZRMadEmQ0%2FYhNRZ%2BpcTgxOFcp5SBr46kIPt7NLu1ZRzJGT5wLVQDfMW52yKE%2BexBuUwZkK8M%2FI6H2MpXRkuibXW6xhWGKydanwYGmkTY8ZuBBMfww9Ih44nh4jT3pgf0G%2BueaqTlt0yZDjfDVaZMjPc8Rch1j42fMHiFFzD5UVNy7O4gLJVF2m3Yg%2FmbaLtN5aBKNdjpXepCXS%2Fb5rdgSIssafeDfhPMVUZ2AtAqj8qxWmp6jki3%2FRqQwzCt9Y8MjebIMcnZphrwQYAl982yzeKA7hSb6Jodwdc5OB%2FoKKUbkP8hw8%2Fg1szsY7jJDZmmLIwG9qrn%2FGupxaxt94ppgOxNk1cWWPJYVxZNwa0TsKIy4bAkBGGZObqRlMg3hlY8KccjVIBFoR6F135%2FdlpC%2F%2Bjl%2B%2FkvU67NI2Q1GUT5LHjBG4nj%2B3ZRbEfJ159lw9ihJuOOpqRvwgRpHWUO%2BmIv%2FVIWcIwGp6PaQ6HUlMb9tEuDz%2FnC5lxe3uwIw%2Br5kBGdCAy%2F4Z5AT6BxMDVEt32L5NFLsqn0Nn1mUMwox7OjxxMPfyOvFIvD7Pta0OQeteYwdINyv8Qz1z3y5XW8SQeNSs6X0LzAoffx9tmk4n2UrJSbQ7c0j0d14RfR%2F8HLPyRhNp27PcZqjjSQOsPYx1Dx87%2BRdxuJeAiiKnxGWvAc5kdF%2B23nKPymH96lbkos9MD780mFtKzpm7PNTbzwlQDaptpQ3YECgoxahIduyUhfu4DB5ZBIo7Yw4rKE%2BHznb2TWSTqRJWfXqiNVX0%2FayZ1tLYNIcCYq%2Bl3u363FtZOeSoK73wrBlk8TTOA5%2B151Lsip076NBC1cqolc062n2EIgR2duUq7dZLe4woNL6gYgYZw%2Fi9AUTox27kq3JaG4%2F0PG11OT77TQQ3a2WSIZcgdYMeNTO1W5yDLUbFx1vEJV6uaXtwt3jaRyZbgUi8jHTd%2FMPWrRHTuaDozbMNM6%2F5kGhSl6BOMYVB4xeKslz2dua5YRBDZ2lheZNqoujsCYlAQut2pLw7UiAk7uUsYC4lVYe3FCJGYD2WU%2FL%2B8kaOab5rcTcvhqCKWc5c6X1yFXqgaUPdIMnAS%2B1DtgD8z9a4FNKNMFXUAK2xDdlvzOesuRwaugCgRNTnT02TMG2Cie5OjWfWIM5DubLzYELeOgMVgVyiFCnwX0hWJvQIXX4Ed93in4%2F6KQLPy1UMapmOE6LLuXXf%2B%2Bw%3D%3D&__VIEWSTATEGENERATOR=B80C0CC7&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=7RR%2B6ao0SwSZ%2BjcZV4jqH923rzwZkVf22ZQPPZA43z%2FUyiW1kyk61ftXSoicKtxlExVqC5NNd6Gd4p%2FDNgTyagQGaEwv2hNW624UXaOhI%2F12XO%2BZhQOGhybZXEDe5AILfcoEsF9U6I8VQ3pY5hlCrT3wPyOYX%2FL1EZw2FAEJY6goIEy97z%2B97Le3N7JIOiqdrcKds1dLX8aKVJEFCsP%2FoRrtXbZYzJQN%2BgXqNS5ZikdRezGbjNjxuwhL0yngRADA2QyqmQz58bShAS6oQdIAft3cgZ%2BOu1kx6uqayrjqClXvL%2BuZ%2BQqRdnQFg8bcUshW6I8jYitE2xoDWeNeKdfRqMOVkk2lNTez8Jr%2F%2F7bKBTQOHCcLHFVTkBvnMRN4P%2BVy5w5sucKE%2FfluSUwjC%2F5vuN2pgu8Arg8X8ZQahiNGYM7LmDq%2Feo0k7ZVlGiu8YtQnXUmKldQjUJkIGOwXx9ystp5RNXgHS19UB7zdnpvYPQzAjQlUmFUXO79txWUaP89iexa7tskKScTSgMW7ipH5H1x4ciTrSt2FxjEwsb4CLpTsjoYRjanVzuWGy4X48b5FbLVG1iv7DfMZAkDVgW4dCze6%2FgYd7cub%2Fti9mvheWrhYgfFje8runn05gUw5073Hw4VesfaHsAetbhtJYE5zHuLo3O5IIRxsgcJ7w4omgXhF%2FyZZsKwwQUCMrWkFeXLmKfvXg025RvQSPiRwGCKw5F%2FmvoCjVBV3S3mGglq2fKnL6e%2FtOpw%2BGepobJInV4STn%2BQFDsaBbjDgBVVMI9A8NivoAXaxhic1LSVSYKKL4ukFuMQtDBsHcczDiVp6jcrileRsgS7cyi4GmFPMuPRACJCNw1uaEuFV8tSNqFVFLnpLQHyaWbY9mCAMyM9Ax1gkt%2BPDGmhwG6zaTy5g4iVBDCGGZfZ6%2Br3g8UvZUw2KIY%2BtZXsexzeqmo8%2FsD7qlzhMm10QVmR%2BKOe37ZP6awhc43u9xtyH29eW6Rwb5vHY%2FVOYAR1LTt4buBZ1GZsJHFWtsm3zDMKtEtDYhY6Mmj6msIVqSxTGBbEC7r5vIpYsaJ4jMAnFNQpTvU3lq6TLGCv1Msn1LZBgXn5IoFoy2cumPt2M3pJiSAQ%2Bqxllkel58a%2BnMj88CLpH%2BsKh73K%2FbUhkrw9IngmaRkIl3KFAo50ERut4xIyusSH8dz6g4svkyjdCm5dC8hP04fmlScBN%2F45V1TtgTH7Hsp7eklRcZ0lQtTV6khPiCmIZaCKky4PRhDWp%2FcDTBI3kzgXQH1V8ZQNt%2Fh8QVj9xvSxK8aw9NnUBJGI2i8OHIAftKOrYeze94EZWA%2FMv3gi%2B5vIKyGFh3LzTjkT3RLVabZd5BLnRAUA5RTQTxMom1tzGY%2FO9oGovKki3ROxMz6yPikLjdQdwWyLsrH1OxK1w0WXJsjHJ7DKpN49LXhvD9EYPUZ7CmWx2mHc%2Br1vBPRX5M742PC9%2FYppDFA7jVhpRo0wngOCPLwVVt24S2mQSfQ6htffT0V1vN0imLpQdw15r9iTfdVnsYbNIOAEdDRY09KUjFizIZOy0NwssdZxQ1yjFOPjvH3SerZvWKspwn4yV1Ltlhs7KrFskvXIuT50lNDP3fnCHfVWKhLbezhWPsvRs3UMCkGTqe%2BHUEV%2BPp%2FRFZmi3psUCOWLBJQA2syhGQx%2FTQ2nrJaNA%2B73BHvzYFAGtytmodXDmo6A6A9IGRSJ7Uqy8PYVHvWq2UYqwp7L24tfGMZyQs%2FdoPe9JxXe%2Fol%2FH%2FCIIayAJQyu%2BhwgPT3nN00Im02bUbo7Inb886QD37bk9bmBQqhpktD%2BWeCiCxsZ79Z8si0sgGlImjXqKN%2Bdv2xjqdXDjSL%2BNfuqptEenQdpjK0W2u4WnrGsnejx%2FqT40E5BzhA5BTdbuC5LR35NJLPcSZh1d2ESmOHh6WXtYZ6RpbvLptwnZfVk9WHXcXeiIxJW9pA%3D%3D&TextTime1=&TextTime2=&TextCname=&txtVin=&Txtcartype=&txtEngineno=&AspNetPager1_input=1&HiddenCountyear=&HiddenCount120=&HiddenCount240=&HiddenTtime=&HiddenOpenId=&HiddenBdtime=&HiddenVipId=&HiddenLasttime=&HiddenHfstate=&HiddenLastgch=&HiddenJyId=&HiddenHkscode=&HiddenBrand=&HiddenBrandname=&HiddenChassisnumber=&HiddenEngineDesc=&HiddenEngineStyle=&HiddenFamilyname=&HiddenGearbox=&HiddenGearboxName=&HiddenLyid=&HiddenProductyear=&HiddenVehiclename=&HiddenVehiclesale=&HiddenVin=&HiddenYearpattern=&HiddenDrivetype=&HiddenModelbrandlogourl=&HiddenModelbrandmfr=&HiddenModelid=&HiddenFueltype=&HiddenKilowattpower=&HiddenListedyear=&HiddenListedmonth=&HiddenStopyear=&HiddenBodynumdoors=&HiddenTransmissiondescription=&HiddenMakename=&HiddenModelbrandid=&HiddenMakeid=&HiddenIschoosevehicletype='\n", + " data = f'__EVENTTARGET=&__EVENTARGUMENT={i}&__VIEWSTATE=ZZQZkfqysog0%2BqvJOOrszkWGzZlQFk7icDvsAiPmoJG8hMjFOtrbEAWururhmWjGxrMcqlLIlQ221ungueAgacpGp6%2FqdGW2KVpwKCiB6Yre235xV7lYD3L4xZZXaGlWnQ0ZAfowuXpZYKmMBv6BkA32oatRvqUtGXyGBEdO7JsRJRWiKJ6r82mQJGjZMPHor%2Bu7nhdd%2BJ0cV9ygll%2Fj6UxRcC7Ab4ODWtp%2BDAUCWtkwEIbT4LgeljTUgPvPeE2zBVFZgCaCjHn5QEUgtMojB6hnL%2BnHhIsPD4aJyhLsXWnoW2yDeMzvL5RLHQvhLFRhc8Vhpi%2F98dU6xlWzj%2F1P0rT7IsVeiyqPwg8vF8QPNbE9xqDt0bAmBxCO2OPoUzrrmW%2BIoKxmlAAswmVDP%2FTniGG%2F0b%2BOSvnxk8HUwLi%2FTJhVsQ0VG0FlbScV7ji%2FHT2k5N82N2fmEj2vP3wQNh2UsGw3RMArFcQDO0dwhNbsyHvDO25mlmnAm%2Fec%2FxWuMFVVqdHBwWvc6nIOEQ6XSkU8MDw8yzr8yzsyGe1Zua3S%2BCeIqQDinSLxIVeh8%2FfxYWf9DFZNJ8H8Njtb%2BtHgaMWL%2Fk52JQY7l99WH0doJzF1qSE8SU3N37mRPq9IqVY2QVO24sT11rwRdNL4Cwdm0P1hrvN57XNkKjMK0PIPVkj0bYCnISQcOyuc%2ByanbHJ1qFd%2FZbF%2FIV03vQmoBZvKjhZJ0YuNC5NfJ3hBmfkBOGfMugn%2FVOdQl1jQvsw7pXXAPQfcFiJuiSl1dVmpAIzbKoVy24ulglM2cKxkcUFVS6YykM6EUGPMFqh7pUfk2ZaqVGlQyZwoQK8C9Y73KjreZvDsStItFkYvPOQJAUbxvju94Qp66cXFwcVZMyTO24yuA%2FhBtzfna9f2MMcuBuCXGVTK1KggXxlnzXlrRWt5Ygn4O97Co4lBnw9FD45j5dBKwIk5AAR5KuI3IWFr8y0qxz4I907Vkm4kY73maBmEQv%2Fo%2BSrKZwpKEtj%2FWOfL5VF%2FWwFrOLllsQwGqIzV7rIWNZXLDEvR9g2%2FYS8JWHsKV1Kv7ESArTVJCwTKMyxGbm8DUuguJslpr2oQhcer9s0UfUW05z6ZlM%2BTKny1kM7IAxiCVKSemfwiATirmLSUXrqPqqyfztKQX9scySQxdwdXG4s5moTRnJvpfDn97dIz9Q2JzhWbsQ8Ay6IM%2F2s9lm4LbcP13f6jSd8dnua7iehw1iCMC50PJiMnF%2B6Id0wYVFyX1hHcYrfnwvSqm0dEu4fzY%2B9CXtvIn%2BupNV2g0RbYnaWirr5lecoy3mIKwtKm9j%2BCtssAKdrpmjqF2QssM1iLsuVHy7a3%2Bo4Ydw3YKugx8Bnr4OFObitUiLoxXq62sHmb9p52I3%2FUxR0gNpJC%2BJ8xE2i%2FpDNWe6CjmgLfRQCA58CO4OxOSjiW%2BFl2kPpXgBMEHGPIG1RxzgTsrjL47pXkz9tEkXKQN0IWCdK%2BIgItP8yzYiq3RvQ48GPLH1uKbmMSl8dQJsto7nrntUOq%2Bq3SJLgnkHkI6B6Zfa20WCoTbgnGdJ2j6kJqxh0z9GKAw05YTL0kjSMxzrmXCOCcBLfabczlio%2BjRpa%2FI7KpdN3c%2FXAX5S6Edl3J50j0Cxf8HPa4EMy1%2FJrdUcI%2FG92U%2BDQiWFWgwwGwk1wNnpbGrMBEDcbYvw0uYU5HAQWDlfVuXFoKRAX%2BeIrGRnySgzUHpnE2VkRLzdE1NEsAGLHlzT61K7sqUFoqOYkIg3ahQLOZZOQ3%2F%2F1FFYxn7Nr%2BK97fia05IXeZMXDBccI3WbA1WHvblGhZ%2BY%2BTGFnke2X%2B2UZf0cbhhK09wuTB00WWGUsZptSj%2FTKQqmqQxKJWqwqY6oMsOSJakmWL9HEeKW4ftkWu2UM%2B48D4LuYesDqHl0eEVFEpUdf6%2BFgGRmO6atK2R0Wl5iROZONMd57wXRMoG%2Bijl5FP74MV411ti6aR4MDoj0Fb7Px6kyEKSileXKYVm9KO6%2B%2FmxmJIfBrOfoRCHOJwwlwP0VvB9Hxv8xWYeZwSVeUbvuoVK7pNLG9%2By6L3YWwUsyxgcGwOhx%2B1zU6cp2HO2yhuQKjyd6ZSqRz715ypsrR1eEtoi44iPVIfwJqWsDbdRJDukpRGWthz01a3S2yWCIDX435kYpwn%2FVkHgmEd97VHwSuxYFT%2F2DdcwOkLlYwwAmHIJl5O1scFWicWFPpx5Ju4FhcZeoFCR2FVfQVt5WcZYoMOE1Rz2smvGk%2BJ2Nq4CZadGSUP%2Befdg75%2Fa2xNbpZw%2BjHzJZoGGt1MY8ZI%2Bt5IOmqP27rEIqAfH43LiaOyK%2BpVwol%2FVrtlrwTujIkn2nKhl4dY2iKHx4UX3ZLuRzCLEVSrZhfjo5NPzENACmhoNB3UACjm3x0lN1sN35UY4DnpSuy5ifB%2B0N6HYXGQPdD%2Blbjdm1pFDNtMNuUAa712junrcLWlS4qoc4WmzGAxnLwFFho9wZXLVfO9gLNJSR%2BcWpTIT74OL3ExZOzKVFzj5AgKQp%2BJYPaL5p1u4uZBYJtSIsFUxZDEQdDqrqZj2HrXdbIRa1NjuwOxVEF2Nd1XYKu3GogYPS3bvu2ztiV%2BGA8likQZ4yRBWHGzJDtnKKlPRjYLegNA03EnJljdupuxbwK4CB9bCjWV2LM7KLi8vwFQ0Bpw8j5lzfagDd7FyCG2LI%2F53tX0LZFi%2BX%2F55Ku6%2BuEu%2FVoIZRFePNNxY9ZjVc32UOGYh8NVxryXADC1NHRmf%2BRxxG65o5XKs%2FjDB5fBqbVjiNAHkWNLmI3uHMEuhqNqQh7OWDOk4Ks9Dxwy61elfOpW48hqACc8B2IUdCeon7KAa0p21ywXnDOm7qinu%2FO2CwxbrYaPSeD%2FnQbCakTvVK0rmEk0BQZ7K8Akm1OmVK%2BWZEfSeps1ADmBeK0FkLe5lSNwCIM12HW5u6mcFIliicUp6FUcMHqQU4TGXmZzkP6jhtGQT0DlD4sEsYZe0vSuuKzGxIbpXMUqesEul8N0vegXTpipgZe66aa2R81E31RTn3rdtbMT%2FZdayCYXOnZ5AOly8kdanS6R7F7%2B7D5vBOQ6IzxAryAE1kr4K0De0QcTC83lX7udAXEEQv3SMGZcSEujXfNVCJT4y3%2FixBVJuJRINv%2FL8ud3d2ajxiPLg7HqGoeJAaA3lVLEqW%2F6lARUva9CBwuxJj7yJKgrGqVPF6pB9gH2dMPBzQltUmF1tPH6c9erYwcfz%2BEG3rPJwKAvnwJp4IyetWs7ZPEILR976Be3V2DWVIoxwa%2BaipQmuB7T%2B3xb1YLrU65C0rodjo3rfjggWjhlCF%2BtMUl4PlDyZA1Is7Z2E6%2FWb%2FU57CpBCRxvu76diLxBmLYhXTen2afFd0A7ivDYMsOUD0RwXF6X9TPOjVybQbeK4LBzyMWsDXIBUH0v6TDyYCASsMnKuXnd9JMW5yzeN4T6ZsBOuGIw7AuOyYYc0CPV4dS4WX6dnhviNqu6YRtrkJcjxU%2BAQOjq4fTjNh%2B9hHODczjwW8a%2FiFVjCFt6mtqg06v4dKMMSkHgvkeuyGajdUTnvu2wGxW%2F67ppi3FOrWyRmVb1R5uzQGFdWYWmq2XRigz2M7U3p9mJUZjhg%2F5sAjNdwSpUB35u9VENgu6lOudNucvmpWSW2R6MPM0SHmg9686astP4PzLAHJ805OVAU4tWDE%2BGHu3B61j8x%2BTgLuGYQAZdij%2F91AsHlQ0Cn2cuB709waCkboAjTZhYdzqTeOUKEVHZAnZ1gE3qfW%2FwH8bzag7YgosIiiJ8QzfRngE2xuSpFH90mbwd21cbByWsF20MUyxVoI9r3%2BacyRIfWRpf3w1oV6qrsgIEPuw2kPXMXBC52BHc4X%2FhgvfMWlsWUcJ6QR5Yok8UuEqVYIddvhy4N9bYBEPGz924j%2FA9QRlqi1Sf%2FkRwvLOldohaGCLBYtFXb%2F1V1XgwaqtTHNZoNDB8rFy0nC7g%2BbZSlO3OZeQ6mwMagRx%2FWn19m%2BNwSh4i%2BoYGjzweQPboOz0xwO%2Fc%2BlLslKXuuEY452g8iG8E%2BlFnQ98DVDsRcirk3smz7JJWHgRDuPUsIb%2FBUVJ2MC%2F8%2Fw7ao%2Fkl3IPV%2FJJKiCNGuR0Nl7RgkpbguYMVsXLVZa7Tj7sO8ZnNX2pcxUE7UuDNm3%2FjC4cDTRGnQ9QTtsrGz69NeBpjKtuq3Vt28V18gJ1iLXI6ZQ0WUDXlND%2FsL6IbfC3oekiQNoBB6LYQ2obJzez9p3nupys%2F4z8dQfen2%2BXWv7LUC2HOQU7h7jrAZbY18PQCCAde%2BwLt3a1FycXp6sxW%2FhhTnpO87nbNXkATK4%2FOy9NK0g3thtaL3VC6Gy1cq0OAMQVgH2lySE8fPRK4PYtZhKgDaiVoQXHzxFKVc%2BKlA1bzOmy4qmm3baAIyS5sefpmG%2FiJX3yi%2FrmYL6yn7k5M8Jll9Q1gwYwTAR77lGpv330fkA0BUDQ4WQuWT2S0N65FzXRFZT1wAZSt4lysbn0U15EAaIO3QkU6Pm7vnJmu7xQ25y6BQYf2ChPEDoZCmYTJFUrWbWE2bhufhyDnIdshPM13zDUUrC5Ufgi%2Bl3cjJTp9HXgPlSIBpfgXKV0QPw6U0Rvozjqozc3zmV9o5rDG%2FMReMxY3zaS2Pyxjjw5mpV%2B32wuoSM8AX1ex0Meig85aLbnbw0Fi%2FIGs%2BdvMSHALTcRTp97RRZiA8ujqzv8BTBzevDiMcSaGqSm8ou0Zl3SyISHRIibScFtAnM2XZ6gu%2BATpkUTblq9LyDXh3CWyz60HsGpU6%2FbSMRp18bEYXsnNPIPnnmUo6ZDn8RAfde%2B6jEFarWtuWhKjUFUuH%2BPopcZKKRp9hNxZEvQe1v7WMVL9QPxKUGacwNu27QfzqgwMb9Z9%2FLPn1rTgnXwisRb%2BInfK4uANLGsCipMHKJOItZ75h2ky2pnvVZ5JBwls3pS7J7V6EwH54BPNiBpJHRvDnOtXgrIvph%2BDTJE7S1LAhUt8BJpYlCkQS7v4uKFRBCOUOZqU3cxkH1XHbwUnRKp0%2FctkRrBXJMBiTvpGI4lU1ck3Ax5HgrOu6Dbb7mCIqQtuOc1MQ7mjWdojvHZY09GhvuBp9pMH%2BdGV5OsL4C0Hj199bB3HrUPKOSwn2CRjCwrxuVAz2sXXwm24GoHP2GyjNTT0RsPL%2BquurcQTPLmy6D2wlVxBnfS10T3lzmRy4Mgi0yf8UGs5q37yZeFKGgMxsf9PmRH1KdPTpGuekN3VKnP6ABaibOtsd%2BMtkozub08j5NTSn%2BgFCNomZ6jKKG%2BcSaXJqxtyPPl1Rl1Q5DY02XWbp5t27jE%2FMEVMV7fmwkaRCB%2BRXerwgxY3JdQzNlGFeUqvcZfGZF3tUtbZUkqyKivLmPdrdsUqAUAOLENJ3Ev6xwtl136OAKm%2BcrHciN407QauVYNTF%2B4Z6eeNI%2BFxqNGDigerNFL92w58GQ5CLXkkp5jP6NeA1fQ88NQxQAIYUYF6m7dXCeKOFVQnplRCl7TdMi67nptnO%2Fusn1uGU04bAZ5jgyNKuVgABu6DkY7NtBROW8nqbdO1hbtWGScLjkM9WJFTbIl5LuQIx2aUX8TgMravqBd7hvxB2N90VMSDHP1hkXzP%2B8DAXL1AKyAZkyfT3vCxIm1bu3XxL0opudcnIO%2Fdw7pvHNJ6E2wvNihH%2BpsNni9LXkQ1pWU8CoVooIyoVUoAvQG2K9TjL7IN8M6foekJWqtdjKA4r3NaNY0XDI6rdpMIAMZZ4wWNlbeD5P%2FZvOV%2FGXRHJXjZO6iukwBWZtqeQx1NvlrQW6%2BBiSDMCB2fg2W%2FLuXfDDouX4Wjvr8FOTfscJ3WzTH25t1aaw9Klq2ONjk9NCRMvEmBgj9mEq2sYfM6yNSlnC1aeY8Z3%2FskLj6HvvbAJQ1mXw1n5sojOHTg12Mg55%2B8iIhHVstgFTUiu2na1Fevfi1P3NQN5ewJi7VSvGUuRBsYEDoq7b93vVocu4rIY%2BgCjIHl6xdJGTvUFK9aqBkGFZwzn66vOUZqmJw%2B5uMefw4kFVomUOKb3havP%2BcvJTSCUsFZzuLgY0CBFOD64gPwILsujDC1mXhZlqC%2FVlT%2FyWF4jEKqq%2B6y3fqzsUgd4ZLeBgEkVziGM0pqCQOxdw7V0xcoK%2FjeinNji5X%2F5GAyU3PxompvYSqjEO2RgjQa4j%2BKRqFyA4acz4YQwio1ap6dPCvo8lxYN7c2NsO3GqWg%2B%2FnZXWoliISFzxr7qAzoUyCzqYSSFq7B6e7eC5Edr%2F6D%2FowqHZgUDReIEIxHe2hkOczACRNTLj9CrQnILcgYGtrmhP4pCGA5NiKgUgnIa3iVmqURsjRQYEa7GNeLax2k1UJ5s3uYrdJVgCp08Ck%2BBYtibN2u3kM%2Fu5r%2BteSionlBrZdnW5Gqy7UdkdphURe5rq0I7omTAbgq1TrOdiyAikkZe06%2FftoTH8uORcD3SuNRoDGCzf%2B6UU4n94cgsxE5Ob8W%2Bvh5XNBOlRpZEBNeIAGJyoM56TjtBrmtdnrpbWHIIoNZe0%2FS9GYFB1QCKS8kUQgzoCDVtsYFIT1raT7%2F0opVZJ%2BaQNOUieFeaZ4qcewc%2F9Nk3MaTwS8JFQPQ%2FPnbtWMX3fR8DW6oZHAqzUG7ASfBwlkZeolfVbMawtPqgMFKOmyamVEJGcO%2FcDtfGRcA7Ik7DQEUk8rr8ED411u823%2F2gkXcgUVTEjs%2FnubFztMC1iTLp0Gr0Fc8LXGs7E2AxbU%2BGScggr7L37Vpqa9FVxeG%2B2iZ9FHX6WsRHag3irfn7AOPNVxcI%2BvyCWpW6%2BZglnj1E%2Fy8juOrrp19W76FraFGOpqG3McHNgfTaeY6oHOmJhxkah7SqWJye44Ep9tXzGm7pBuxTgmKhYqrPFar2mYDllIxjeoUOf0WtESLLfiKjzvUuyh6959TaN99Vjdn0GA2Ap2uRPNki1B7kG2VJyFYp5s06hKQkPxSdOOdh3OEuGaTRDcMZLvbTjKv9z5%2B66qolpNiT5rk%2FJBuqjB08AlR1fYa4MtFKHZmJg3Yt%2B96prulXSySsNnJIKDvv5Q8TQWUvEIZMtNKiNIK8LEiiEVqzsfT8S8SblHY0Xq8XYKSh9oGZYUAFZCdbufvbffYO6k%2FAL9y9D0VaP7EDOlLbMMYMG5OlqkRLOkBUeSSABZv18ceKBiDwYT370Jl0b0JzMg6Fu7d7QMuzojc%2FYbEKJbnnS2xBZ0SsXUlJ%2BCYR8Vtn2UZTGxZGJGKH%2BRPidwRQE36ZzlHQSYDbo7ZCTb5yaXd0CJpZfoIdpiYZSG1bsoXivD3qJsNXQhZ7GjQ8MWu%2BEoekeGNXoLucFZo8uhV6eJkzyCkc5saH1IlH8eDrsIcbS2B1uFPUDuYlIRgsKNoIxarcfTJCcntIt%2BtMdn3KfAsUTFmpvnqbnsIaleWI1FvynKJUl%2BOPR04oIVl1e0la0trrQPFT3QX9RYaxDQOGSrNPK7YFSS1Jfk1A5rD268RbcM0wbzWYb0s%2F26aMBisdTPOWFe7bLOR6UTEQLjF4%2FfqyewkGCZIA5pwouVYFkbDR4k2KM5iN5C%2BechEZ9G8NvVdEN%2FrOTP0JFDrf%2BHI0UJliCogD%2BRV9BNcWDF%2BPfPDGrwAxO%2FkM%2FdIeB%2B%2BnvG7foG8LAK9w8jqIv6%2FGjuXaK8XuOitVaMHWrojHeghwA3AYDK4A6bI%2F%2Fum8xRSUCQ3mlXDAstpwYHBM8nQuu%2BnP7NZfxzO1l4JYc6dyQ1uZQ%3D%3D&__VIEWSTATEGENERATOR=B80C0CC7&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=SEDsOx6ThH%2FAxDOdVGlrYW5fvY1hKD1DBUykqIuJGFzHvdtSDEfSzTlOLrgsxB1kcXaESBxCq%2BrS007PVOAe1IPf%2BEFYq%2BRvNeF9iZ94UFJ5%2FncREoxyZkvB9YBZ5DbTviY5E2hPgyAM3Igj1poWsqwOFExY7KmCH0JfI3csIRAb%2B1qSf6OHfIHLHKG9ksQ65brC1REhCW8JMa6cmecCcQEnDdS7n%2F5pdtNdMW6CwvahKw6hVk3ZNaowBYXSyCOgKkFFcOAR3MZq6NCBwDlzzulurCXsi%2BDXnRaOuFE27JbMePsZ%2FFOM%2FfeUTw%2BvoxOljvUYtIvo3iPlSer%2FIxAnvSfcsMtTxtX8scTexPdHgKCoOf0OusT1AvZgOVwhm3O7GSbTtFejcDB2CWVCZ7bXv%2BUB9J0Nrf7DUyz%2BRNS2s%2BUtXH0iKlxebYIJstowHA5zXuub8a%2BDuM79eZ7ZsampqRp26IknqBIAmTqWgO1aXlKhtKk%2FNjcCQ5i3Nmi8W04ZTZDnDKixMUVhByQnt%2B9DHvuFO8Apv9CMAI%2FbA7Sudlq5SZAidoSrfmOZDEnPoPQxowQTpRbGCffwyMLo%2F0%2BGCx8Z1dfDpzGUaaofG%2Ba50H0DjKal38hS37f3oXQnV3HA3KRExVhX0njRkkg7nHllsAVWnSfG1d%2BgR8OBf8PKH1LPJ0IlnFVi6gCBoKN22CJGA4F1zM%2BcTlCtVg8O69KDRsV6RIlMmD0p10g%2Fsno9MOJ%2FPOfc7t5UqMz7BAITG8lgC62YvPJ6zeZKoBQA5uIf1BcqfKLgS8KLLCuJh5JhpwrodGx%2BdyNwNOBNO3fTB%2BUqNbpcnEtOhHq%2FgL%2FR6RkQG1szqheEGMwek6XLwM6X0opzT9ruLUrvgXvm%2FL3dhiNeLLPDYh0%2FsfEzH5FJHtmiVCspGYUcY4TqWhXqkrxLg2DVAfbyUP95C4K%2BeAuMwRqpjDXxPqYsnbrNV%2B8uwRKnIiSrtPAqKMGPtS0iScuaZtQ9nUIpNuFdbfnDF8vHvOL6kaUna4zwEE9MaGwnNorCMhJgqcS%2Fl%2FlXeWfchWlegW0Ao0lZ56cQFjeG2NxLBBFDRA%2B0TJfRjnAKGQcHHluajbAvPnOdfjwC7cugPFcKfhznzNpOcPtlvjtizhr1ElgKNcUwyd5Wh08ummn4zjyC3rPfMGBbkid7MJ1tIPNMFOoDfb0zFdV8dGc6U2Xd%2B94LnHonsMPpJPiKp6I6zU7zvaEQwJdi6ZclJ%2B14k45qN7qklfdjThapg%2F98Jhe6MfErdPYZLEDBX10IwQQO%2F%2FHsl3dzsJrBfGUOajQ6L3fK7BEJxIqVrpFFQBHyLqM%2F%2Bs7kEdV6OcU%2F9q6VZ1xZ7UJHZxZqS2lx8S4ioAFT9z3Epbcw%2BPI%2FI1eQcTYxnpwa6iQV%2FZhfIhCkMnNDom1GpOBhuFZSvVn56IwVQf1cBL6dK462gypGeL2wGF%2BtirR3oXDgyKs%2B5cqfNdzDFsGnXkBs6xhOy5DiQbDrRDdHHTomZUH5j4y757FHTZGr9UnBI28I8KCGBMQM4ULR8PNctKeGNmh%2B24lrL1wl7%2Bn%2Fjr2iq5NPCyK3aPkxcIIQ89FXSiEBvv1mfrS6co4Rv%2BYHyf9O8VWNeIL4rODsMP8uNSI12%2Bg%2B6YNJ%2B2trhDN1Joyvj4p02GuyNs%2BmYO41rLM2UKFNg615oFmQJ4w3flfb%2BxdpbqmzCCFLBgXNQJ6%2B2uZu3hEk3suf8EbSu3YMa%2FJFb49m42Zf6Fzm2xAp2qCU7ytBUga7dHixkG%2BE7LOlewgpbrrWTGUEQSdEzegn7h3ufHs1keBk6g4x4M2JqWbUCt8pl8Nh1v8%2BQ71OyhxWhjYrz7u34oyPIpmcaBSjQP9GmdSzZ1MLd%2FfqO8Q8bshfF0Q5vQrNWtdRiqGNyOE35FyNij41HNmRQpdzdgUlEZsgcnPh6ov8iUW7vJDh0V0fOQ%3D%3D&TextTime1=2015-01-01&TextTime2=2026-04-27&TextCname=&txtVin=&Txtcartype=&txtEngineno=&Button3=%E6%90%9C%E7%B4%A2&HiddenCountyear=&HiddenCount120=&HiddenCount240=&HiddenTtime=&HiddenOpenId=&HiddenBdtime=&HiddenVipId=&HiddenLasttime=&HiddenHfstate=&HiddenLastgch=&HiddenJyId=&HiddenHkscode=&HiddenBrand=&HiddenBrandname=&HiddenChassisnumber=&HiddenEngineDesc=&HiddenEngineStyle=&HiddenFamilyname=&HiddenGearbox=&HiddenGearboxName=&HiddenLyid=&HiddenProductyear=&HiddenVehiclename=&HiddenVehiclesale=&HiddenVin=&HiddenYearpattern=&HiddenDrivetype=&HiddenModelbrandlogourl=&HiddenModelbrandmfr=&HiddenModelid=&HiddenFueltype=&HiddenKilowattpower=&HiddenListedyear=&HiddenListedmonth=&HiddenStopyear=&HiddenBodynumdoors=&HiddenTransmissiondescription=&HiddenMakename=&HiddenModelbrandid=&HiddenMakeid=&HiddenIschoosevehicletype='\n", " new_response = requests.post(url, headers=headers, data=data)\n", "\n", " data = new_response.text\n", @@ -96,24 +94,24 @@ "\n", "\n", "df = pd.DataFrame(data_list, columns=header_list)\n", - "df.to_excel(r\"D:\\Idea Project\\F6+宜搭+其它(1)\\new\\文件输出\\快修哥客户信息导出.xlsx\")" + "df.to_excel(r\"D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\快修哥客户信息导出.xlsx\")" ], "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 338/338 [02:27<00:00, 2.30it/s]\n" + "100%|██████████| 566/566 [02:49<00:00, 3.34it/s]\n" ] } ], - "execution_count": 1 + "execution_count": 3 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-06-04T04:05:10.519111Z", - "start_time": "2025-06-04T03:48:56.464461Z" + "end_time": "2026-04-25T09:25:03.655771700Z", + "start_time": "2026-04-25T09:24:13.925870300Z" } }, "cell_type": "code", @@ -130,22 +128,20 @@ "table = []\n", "now_time = time.time()\n", "headers = {\n", - " \"Accept\": \"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\",\n", - " \"Accept-Encoding\": \"gzip, deflate\",\n", - " \"Accept-Language\": \"zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\",\n", - " \"Cache-Control\": \"max-age=0\",\n", - " \"Connection\": \"keep-alive\",\n", - " \"Content-Length\": \"11300\", # 注意:实际使用时需要根据具体请求体长度调整\n", - " \"Content-Type\": \"application/x-www-form-urlencoded\",\n", - " \"Cookie\": f\"ASP.NET_SessionId=bdanvu1qrbxlp5bnf41ocgtd; Hm_lvt_ab3baaa579f771d051a6b0baad5a8cfe=1748590004,1749008435; HMACCOUNT=ABFCA62083E00432; iswatchme=0; setaddat=0; hksdms=username2=admin&truename2=%e9%bb%84%e9%a1%ba%e9%91%ab&id=21682&wxusername2=&zb=false&qx=1&login=1&actname=%e5%ba%97%e9%95%bf&act=%e5%ba%97%e9%95%bf&username=admin&truename=%e9%bb%84%e9%a1%ba%e9%91%ab&userid=26514&valid=True&wxusername=&uniqueKey=8eb5be05-1367-4ca3-89b9-bff150354a21&timeunitprice=0.00&allowquickout=True&telqx=1&tel=16256489888&StoreName=%e7%99%bd%e4%ba%91%e5%8c%ba%e9%91%ab%e6%b5%b7%e6%b1%bd%e8%bd%a6%e4%bf%ae%e7%90%86%e5%8e%82&attestationTel=13618582338&StoreName2=%e7%99%bd%e4%ba%91%e5%8c%ba%e9%91%ab%e6%b5%b7%e6%b1%bd%e8%bd%a6%e4%bf%ae%e7%90%86%e5%8e%82&vipid=SAAS21682&zonecode=1016&zone=%e8%b4%b5%e5%b7%9e&CustomerID=1895&IsInitialized=1&ScrmModuleValidTime=&isScrmModule=False&isBasicModule=True&isTechnologyModule=True&isPartsManageModule=True&isBusinessImprovementModule=False; SERVERID=000e421eb0ab0efb9790874bd5c8f758|1749008488|1749008434; Hm_lpvt_ab3baaa579f771d051a6b0baad5a8cfe={now_time}\",\n", - " \"Host\": \"www.kuaixiuge.com\",\n", - " \"Origin\": \"http://www.kuaixiuge.com\",\n", - " \"Referer\": \"http://www.kuaixiuge.com/carinfo.aspx?clientWidth=1275\",\n", - " \"Upgrade-Insecure-Requests\": \"1\",\n", - " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0\"\n", + " 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',\n", + " 'Accept-Language': 'zh-CN,zh;q=0.9',\n", + " 'Cache-Control': 'max-age=0',\n", + " 'Connection': 'keep-alive',\n", + " 'Content-Type': 'application/x-www-form-urlencoded',\n", + " 'Origin': 'http://www.kuaixiuge.com',\n", + " 'Referer': 'http://www.kuaixiuge.com/carinfo.aspx?clientWidth=1286',\n", + " 'Upgrade-Insecure-Requests': '1',\n", + " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36',\n", + " 'Cookie': 'ASP.NET_SessionId=ciw1fuls0atkqaj4gkxhzngy; Hm_lvt_ab3baaa579f771d051a6b0baad5a8cfe=1777102209; HMACCOUNT=0838F6FCCBE848D9; iswatchme=0; setaddat=0; hksdms=username2=admin&truename2=%e8%91%9b&id=9864&wxusername2=&zb=false&qx=111-11111111111-11111111111111-0-1111-11111111111111-111111111-1111111111-111111111111-1111-0-0-0-0-0-0-0-0-0-0&login=1&actname=%e7%ae%a1%e7%90%86%e5%91%98&act=%e7%ae%a1%e7%90%86%e5%91%98&username=admin&truename=%e8%91%9b&userid=11955&valid=True&wxusername=&uniqueKey=8472d715-0f01-4b27-aa1c-90471f6cafa3&timeunitprice=0.00&allowquickout=True&telqx=1&tel=&StoreName=%e6%9c%ac%e4%bf%a1%e6%b1%bd%e8%bd%a6%e6%8a%a4%e7%90%86&attestationTel=13952699256&StoreName2=%e6%9c%ac%e4%bf%a1%e6%b1%bd%e8%bd%a6%e6%8a%a4%e7%90%86&vipid=SAAS9864&zonecode=1004&zone=%e6%b1%9f%e8%8b%8f&CustomerID=176575&IsInitialized=1&ScrmModuleValidTime=&isScrmModule=False&isBasicModule=True&isTechnologyModule=True&isPartsManageModule=True&isBusinessImprovementModule=False; SERVERID=000e421eb0ab0efb9790874bd5c8f758|1777108310|1777102207; Hm_lpvt_ab3baaa579f771d051a6b0baad5a8cfe=1777108313',\n", "}\n", + "\n", "# for i in tqdm(range(1, 660)):\n", - "data = f'__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=oaJl%2BJdsrJ7XVSy6dFLofgGJZ%2BkqfJ12ScAAPp0Bc%2B0hzf0qFIMdSz9oHWrQzMEY9hqVSwnUydAlR0ZFtbugmnQzOGPtbBL1UqlKXNK8f2rhSIn408yFet%2BytfEt5QHZq5qM3mraijKLdwuyISRVLEwOvXrXqbhVE7dDGtA4vV%2BIedmmWT5iHGkl4hWzTOC4YehAqUoEsmIDOfxKDYg7wfrc9HrOmqbd7yLV%2FFEP1nFmYoJqMbvvPo8SN0ivFQCTOrxNwc%2BmHAW2uJCXDbmyUHdptMyrPKTxMyrVCWIefA9qyRKyTtCnWhubn519lNhGH%2BoO1cTTJkDq34bt7CjTW7KTLgq9KAHyU3xYQ6RvFY0O%2Fjz5FgJE67e4bGYxbyOdrRgChKImRi7js%2BCqfv1rwIuOMvrxPr3U2CH4Sqy7W%2FkFu2F642%2FtAUxjnM18LCuE5Q089Sxuf%2Bj7lVMFCKZGb9dXGfMN44PnHoC8%2BIx%2FRKPMf5rkqGD9Lhyze4%2BbHPT79TKkr%2FZmelNHrKjWyPxedHERDNjv5h07MS%2Fm110%2FJeJAQ%2B93Xr%2FOkFFiZ68%2Bt6YbhihRoo%2F%2BLWfwmVlMeKLbIxLF35K3O2cwUv68GzYS4fiTOoe0%2BpU3Zz3LE%2FwKliqLggVQ5p3shmw%2FMKyJGz4ESZyXkJKi1d1SRHv4L3lcx3pTiiwnkolLLQkliWciAXIpkNMcpjLAWs1uo7USt9zTRgC7j0nuDxTtLPQOrH50tloiVNrcT2w0rZWuuoSAPKdf4t6566bkfJUmcRxZghhQaCWbFPsfi7D%2ByeIIlJ3dcQ%2BW8yzIDxwLvsaCd%2Bg%2FSwLobNr2SVI%2F6cqYpAZ9d8jWcj3zPdcMvBWRgkjn0foFIAPZOGLwhZW%2BOqe4%2Fbl0TrfF1FY5m9%2FCXRTlTT8yONhiBd3Url0sdVjdeKdUlhLMO6DIMk0eiK1fMpntBWjtk%2BRzW5oI89QIWVt21B7byDXuUXbQVJMAkzDwHTZnotkDrjQ0%2BckXJf4%2Bk%2BJf1rzjIgbhLkIlO1Vo2I4cYfOB4bJjTYTEjlK9usJqzXS%2B8pQPFIfRlm2tntJ85f8Mro0lVrqxnEzKMcWArsyRFE6nATQhDVl7d5%2FIpZ73xL4bmgXf59MJW1axiNfVdAAZgS3Is3szcTZzgnvFwoatxYZ8ZpxbgLMVjbVvu1ycPmQGConFEBNoJuQuDFjgYzDcbh7Aq4ZlJiIwQLiwUGKaKYa6%2BiZbD%2BoRMjrFOjvCXgwbtlikc85dwKq7BYlud%2FA5w8H4dnccsbRE7bopcL2AopgFOb%2FwckCPjWcmLZcOC2cb6ztc%2Bxsv3V1RgJH3Rnkef7mh9aFx1x3L3KJnaWEGewnKMRWeApiqORl1%2FEHys1VfB7gk135R2Y5VEmGQLrO7IgTXuXjdYAFdZAumbQ37lgY%2BrcggKPXDA0hs1JNw3xAYTV%2BP4dMZbtHizSN9u3VD3wKoUBEjU4ncBi%2Fmr7XLr0wXa%2FSqE0SVHZhMFP36EcKk6YO31YhE4hcm3475CP%2BLIn7Rm0VJDmdSy%2FwTpSK2BFfhCAh1N12cFtYMVPmfDW4NA4WdnGqAGKvaJF%2BT8JP6G1sixrBwKbnTNzUZu0QD%2BPB%2Bl%2BI51OLAoK%2Fl%2FGLalCukwTCy7cb3FCffy6mVMPmYAgzKoPOxy%2F63n3YcSa9RfEHBxOoGmQIHYo7jgfpFPDMY%2B5QfUicOBB4brGY3wyBy0XYZvGAqCVwiOsprmMzqCRWT2wM%2FN1DuXkDDeBPDfuZqIMZvwYvmtfMPeIkN7rcEEdXyQUSjGL4rwGIVN7w5RkWnIdfvo3pYZfX4UeJ2hVTJhl6EZHFGy%2Foyuiw39guA5rNgE7lcwour8Fw8efT5bDvYgw2clI8fGz03PEOPwjMa7jCaQARKei9uAYfv%2FjZy4H3P2ttC9vJTz6vuRbF%2FrfsTwa4w4XP10y3PJKKjY2aRJxL%2FPuOV0qs6tP6OWiEufKXusD9nk%2BArmbo7Syfzdm0zxL%2FPV5fMRP0MEffVQ37UReIlc%2F5Gtt8CoPH3Tn85bxXdHVLcnvN4qeKvCivkWGrMfjKxeVJDY2Ayck1EjRYZP7a9W9GUu1UKR3R5oU068JV2Op6kJ0o8dTgmVdMPIdgebme%2F7C%2BVYDnNTvqaljDi0ED%2FYCen3cI6Q%2BC0dFmy%2BzU6I%2BnDZVTjnajAT0AWVa3zyydPJtTx9Q9f7KegEOAvsBa%2FZpr9xNfSPEVd5F2Us9HBL%2BXxIH8FFatDUXixPD5xyVTnpyF1AS%2Fbb0SrWD2L2nyavlNfnU6zEp67ycblwYYDt7rSXFmPVdJNG9BSC3A%2BHQVSsRRtsMAth7ndfNULppL7z5pRw0vVYb9IRjA1WC8TjcKjJoua0LVFgfw0V2XqD57SyJQ%2FdIOzQ%2F0ZfKeWjt%2Fa7l4KURzefm8BKYiIund0p6KwZncymdM9yNRVXmZ0EIetawqYoxlPsyU6ZsWvDJyrdvm%2FAYxG2LIkuE4GLBy3l8fTygb78eJFwFcUedkt6UX4b2yEcK4PO5zW0eJY%2BrPUm5PFGU5%2Fx4WzSrhWBsJcxr7dhwidrzQIF1EYp7JQfWdH%2F8VqWXdvA%2FioRRckJlCyw0kYgiWpxv0X86iOVhtGiTLEywAiwxxzePK9KqQjSBkzZTos03XGufezh8I1lTovg76lNH7HjOU5W1mDYOMt2hOu0NEp0CcYZB3JsIMX9fd8BBl%2B1mvcUXA42yTh3iMnzg0ZirbMeP%2Bx9o1sqhUdijojn2zmAVRQxejSvqwG%2FomFi%2F1XVZq1h8qZdx0CKMZ8uDYzKr0MFW17xWJZkqK8ZyI3I6%2BQFyHqVwcX3MUYCr01ftl7AdkuvnaSku4eOKam3RJqkCywKXaGzY6Co9c5NsIK1TX018zL%2BWZdLiXjiOp1lsEXWVf9bA1leOArdHlHUw65RXzxd4XQRjzUS7bLwjEBJ6VR9DzhIjLm4A2degQddzexPx15h3kNE4%2F3J0Zljq2iV8mQhgkR6SYJu5qTBXaG2NErFmwGZb3oZs2vG99XZOgfkUbkjP2mOObhYMJKCvjJKC2B19hYwY5Qh8UzmrPRcApDpNRiEBglC2Wbkdtn08dB%2FtgVFVsddeeHSxhejoWzWwTQDyrH4m2caZw0f9mXMDSnfxBon29n6cdWxlQyVlJSOONLf9L%2FnikqZeGw4%2F8F%2BMVpv2zHCSH75XugVNP1musBWD0gnVUuOOD6VgGZkVzznlthZCR%2BRipzZtYkXQmIib0JfWlErOa5VAnjwfWMFVTCoK%2F3JK6WIiMTSQ%2BTNM9hJPY3erS9%2B9chraUFQ2DbOipfevUuZpT0gPeEpTp5rccMFBqh23UR6WnJmOjIAi6QdjN9mfYY0orUzJsO%2B6wR%2BUGTUZfgMlxrtjPTQNraEfEeMlgN%2FNTnPbO85%2Bxq%2F0JFiP7bGbORURKG9j%2BLTYb4qwCw%2B9GV4AmpvsZZ%2F6iRUwT0cK38D1lNchreXOp34kbsuW4%2FHWsVcSUPzPbB6z%2BvcLEfk31FGZq5S7BFzl2TE2OMD1PYYKeghfMp4%2Bk%2FoEmWqYHmxVzLiOFJgN0gBV6Tk0lkPSMtaeiX04fM3ayvzYplY4%2F3vqPyTA%2FjeU3OOxPE3itUFENQMFsP7oRYSE64Q7in9S8Eh0dXP4NTXOWWn%2F6q%2BzQ%2FwoawD1VQadNXo4KDu9yTcQJ6QUFfDSUNxNX3lhEQSyarBJFiNJ5L1L%2FqQLKsgoUTRNmIiYWmFF4q1WsP3DrUsBTjOY2gjhvufnnCdwSeFRQeCJeIoGTx62727PPh%2BqxAviZCZXBdAoAo0rQmog%2BUkH0PdI3mNp4z1C8qN9vL9%2B54xo%2B7wcN51bZZd1bjHInbkOuL3O2zvmfWiO9Adh6385%2FYyCbh6d8FEeJPnrvfB4d4XkMp%2BDYCRyENHYa4a%2B0WkA6DZ4A45wJ6MDkugOdvIj8yX7JaQG1rgwSTCc9xFmAaIZgANdURm2Eby%2F99t%2BhleqbEiQEZKfbPc1PALa54tegmHhiBUKvct3ewUDZ%2F1Da1p2XfbuD7Ix4nUhIplWFUVZBef9W0XYSjNND4YEHL0Tr9kzd%2BsqEml4T4u99C57F5YodfpV7TW%2FWyxwICQngx6gZpz8kCczPGky7kiLoMlWj2fsEQryN9DakoNdAWLAANjRVFeqA77N3oMH7N7dPEglmYRbpIS%2BMxMDjC9Y7r%2FpWoLN3%2FFnqEVLjWvOnz2OtoGW6P%2BlblBpt7TH%2BqS314w%2Bg6mwzRqk5rXOUr93Eas2SVxeoGHPZOHSs2v2RIfH2hF2%2FQXxlUX5gYZhOghya%2FMneEminwEmozouJh6yLgm4FHkHxZEglkQ88yWclOL4eB2tuwe0Z94MlEyOR%2FiAYOFQCOh5iHNS%2BQ1WHnqJfb4Hz1LF3YrHfhhyCwH4uaO0LkYr43lmRbN7Bes8wsjktnb7hItoPOJ05fXWFownGNYCwWksUyJa83QpZnOxTYpTl%2FeGFov8AswyjdbBm37HA8eufImGrWnZi4yIAcMuf8rpNsIrmEUfW4ueojknmzTbkf8sYGk6mQ02xlANt3r47SSUnRt5AN%2Bu%2BOaUOEzdd1FkcfHMJs%2Bj3KRVbKF7Usrdk4laLvwB1nUYzGU6nkohxELpvqc7wX9rBT%2BHW39yYXBzvJhGt3ppYRLdMtWDqOuMgFeAz7eNY2v%2FtlYeOjuP7gEjFci6g2OtsL%2BkSBoguJPK3t3m2U%2FwRsAsxthqWB4%2B5kDanwaOluMsHObBSMUIs9zsCZt1kS0ftrXV6D0%2B%2FVBVcmU%2BxKn3AnxS8gpxNzl8NVKm28ZSdkS0k4P0cnCnFNI6jS18LT5ojy%2FkCOPbOQiYM6Qc0aRGZRTZLEKJM02Q4Yh0y87wqVLOnZxyILxzSAujUQZ8A5uUxB4vMmMtcKOKdjScymCRGe1JiJ6v27hKU0u0%2FlY5PEMXxV8mKQSyAX0LXR1otZ%2BN8WTwZlrDchv%2BrsXouTt1XcDYXEPiLepoyVlrIdDTIBxf14ca4GsFGARRfXCDBNqxqoRh0uCp1DRbU4zM3DFQQclIUqbmgLSYvu19XCL1Wl9QgR2Z4mHk1kDD3hk51dFNgsKuhe1Hvi53K9mZLMA0QdKtDZQQJLZgl4er5TgsFSCs537DeiP952bGXGAdUqhrA1XhPNZmAANJnctgsCJ1DBneE04Q0WqCvONIIjRRf5mhPqXoEa9QrnZx9cKdgxjyUkODNb%2FtKjXiOaL0lV%2B2Wxtl9R33YSfMcEOnwCBha6eKFlgFTQds6%2FzwPfPxjHRx65BAgNi4X%2Fz7xMhDP%2FB8mAuXjNkd6CkQoWOb8wCnGuzvY%2BOAvHndBfyZidZ1yCMZM40dDdwfj4QK%2BELaDr3heVkjiwn5vYmYOyyGqW9ZMG2kaiuihrn6WzFTbN7V%2FPnBQT2lENtNRti1O80AhxjuR9%2FcljLTp0ASvUKhmmRKEsDEyHOAHnYfjWi7TmQwQ5g3i3j6a9DOSFs3Z2L4u4tAzHrBOczclyTSgY0tpTEF6ktg27B7i5bKgFsLM7C4gzYFFBXDGWKBPCXsQwbN2XrVfCGD9eRy3%2FXlqDLVQc4CfFspdUHiftJeBzxMprKatQychSOHy92d%2FbYnJwyi9ZTrK0q6NSh1uwDW49K4PECY0zFRWN1COCELm0EUlmoLhFiS6OmqctvE%2F1mDQsQb%2Ft5tZ%2B%2F5P2Zk56Zn9kiOpjHb%2Fzlbp9tkgOTY22IVp2Dt3HxMd6CYauatqAsrnQKuAb8yLIQbi6JCV7qRQD6cqtPrvPcAWT2IBFg7w0TcrUn8O5snWlOzgahx2hG6fhPdAMgCtUTR1vMZMgLH4g3FhgIB4TglWI4FvWtSHGpmYistbLJ%2Fxb4DLf4Ub%2BI%2FzOheQFoEZUrw2JeZpN5GcoHg5jkhKa6RCWGGQia%2FjX6Hp9y5ntQ3Q0F7Q06f%2BP1X45sOQXWRuITnv%2F3dG75FyaS4Mi1WhGqnG4bQQuro%2BU7HFmuhTbeHnO%2F2UjYwfi1C%2BM66LhMh5m2szY1CXrmg2ckpOL55bUSFSRfYOq6QytV2ImWRhtnww4WOMJ433FO2npActWSdnAb95grhV0t6Jzrp8eWGbjdQGMbOKtxs4OW2XY8ALP8BycvN%2FOAk19m%2F0bH0Sy9F1wk%2FcYdZ1VVhgTzITqqnaaj3djYxu6l7fpJH%2B6x2%2BVpcTlVNH4S%2FeJotNToJeyq6VsrYV3ODsyhKkNXbCas1Qiq0ztJPWNI7wlKMGrWub8fB%2Fi%2B%2BVIlKOMzjwmZDjz9fScCNEeYLXD5Ls27z%2B4zAOI5sv3c9mmjpw3NGUygBcOsDZw%2BmVWs9T8x3IvIT9Lswsi87OySHze3YMRH9qF5TFf4FfvFyDYxWvXer49OWZNp6lkru2HzLASGqRKmR2sYsd93cS%2FZc34c2BP7F4qqjPp7aRksgTzOPJC7RzSZldhYlK%2BWYxNCGnkETM8pB9gBqqiE72FnFMzI8TC2VztS5niPIhe6Y8bJlAc04wFFaOCqplmSatOcuGyV17pyohW6pakFouio9Y%2BAsLUCT%2BNHTeZZVJIGdjIAyxCG2510GFWr8pwIDJBDOOkA8D0mSUJrD8VShFiVTlfaRx93FypYpgo5Wqz%2FOgyUWTaVXah11Zjo3anBQSDtTzWZIxtmWjmD20cK%2Bq%2BZ2cbIrPpLGCewRErN%2BUiNG5PXLr76ZJFqliBa56tPO5DcFoVz8zvSZTYJluxSHZqi8Pke4KbkXhUceJwohpsg3plh8miTr%2BpQDhrRA8QlT7A70LItXceWzNmbQWkfKzNrWvS%2B9fpeuTYd3QSnlEIbXxbX58F9sk4BJfPYI5BKzETZkSgROBm%2BFjobj0cJXniHvmNkMcVOoGt%2Bu1JcWe8IxdirTPigwSCIOJnDQoTbZ9SQ08lWyN19xKpwwp6y2y6eUrOMEbfUeBuj6cDtEw%2FPWlV4mEBrSKcG667LIZ2agR%2Buk3tfGqWtfkN0hzteezCgsLb2f42TM%2FseDZINkh%2BQmgEPdvPnkQmqfjIe3W%2F59O%2BiU0k2mZwUxaTVuq%2FiRBk1ufwEI1fu3LNpegOnN49hZEngetAdSi%2BEfPe2Zt%2F%2BcLYMy52h1X5CbGsvuKmRTyt8Y%2Bu7B1PnrdpwUTpPn5vTVF2kiRMgeZZQ7Mz3HXkGsX4fRap%2BpHi9IuDL%2FExSLaVi9SN1xsdgEQV85u6XEIfwMSyy%2BiIwMh52ZnpuLXGiQFKqHC%2BmCkvtzigfML8WiKbVxjManlV5s43a0bYUkmn1f79N77ENRmaT4WsS8FpIV%2BVPRwmCxsCg4xfbHbHr8R%2FLzYgScxjAG5Kam2wTuNa3aV54VaKSrymDa92Z45Bn%2B2QA5s%2BlozBit47JGm6mFvjuLKpguuXyGUZ42vVgxo99vsn%2BkNiwLN6eooA6TcU6bsq%2FqP3wg2cVeNdVs8wZrr2cg4Q%2B7KGhIsbKmvjqEYO%2FJCWd2ghfwn4s60Szhtv6NOLu9G3P1z74bpv4vzZvVIY%2BpQjMF3ikLcNMnht9jgCv5LzlR5Z5zwH7OGtvu6t6VNxOVbE8iLHxbUvCbswHngQN0oBT1RPVgdDyl1LZmdGscUSJs48pOUIm6yu4%2F%2Bhij%2B7z4iLKPmm1xjTRn0ld0xRUG9pYX4hJWLmO6hRGkPQ32bPMxA%2FB4Im4woMWKSh2mhjzWCrVdyZZM%2FdSUF07OHIpCuA%2FBc0%2BYGjBWrvRT8MF9Ju43t2CKncOj2lt%2FsC3u2cglzLBCjf2PKCLSWQlhxpjUAaQPolZ1h977uX%2BdS5pUBUcmeMynO1KDMv%2FiD33JqXjVMI1pWUQzd4H4PQYaIGoxtXExtnvdYGXJXGErRDIJZjNB%2B%2Fh%2FvbQW%2F6iZmVH0HUCHKfpQdGFqU0TBPBIp4Av5Z4oohDPW%2FjAu3V%2B0kTeJN1giBh1j5iYpkVUt498RJVq56HbhW0qhjybmuIEbO4us0zN1YNy56NjsjAKcKPtnV7SMyVGYsu5Sq59l1pgbkFxU4%3D&__VIEWSTATEGENERATOR=B80C0CC7&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=1HqV9sKGAV2I4GXxIfq6NXCx5nKl0GNDy683YzyyxEospu6WsZg3TRV66sLmFQyFRHmStJdIt7lsYpXwucRoYhakPNTFhZ5YjU1EqXkMLOpNPOSxORgWX%2FMXY%2FKUecdk8%2BeuglinFhPb79U8e%2BhLJnQSuWZb1utMi5crF4CYfDrk1apF%2BVPlmbDonBx4fx6XLOGXh9xvIaa2COqPu%2BQya9QeO1SLatlDncy9vT4MlgFvRDv1b%2BhUcpwDFWTnz91PB%2FkrER8Uo%2B6BQygXEsvzEk5K8irvGpxhCNjot6CtfSuFJMTuMKfa3kcWZEeMdHqXXihkJSgUvJG223sv2uO6Vl6fLjoL69RxbCBivbH1FoAbdgMN3kfFHHpdh5m98m34JP30%2BIs8eYI6DsHslLlog7aNfGx69quYJvfdk3IqsSTVokxAhU91ToZlgteUg%2BnIVuRZAt%2BpV7Ku5qDdlMvjMOT4MJ4K1La3e3nhIqJ1gD7ROfTQhIEK3pnUVHjL94ArBKr1mdnsaYDTQv150luLMKEvHtukpwELOc5n1XfMnj%2FO9kjf28C7e8a7FRGd9EdC8kPlSZA16IsYPDpm8LnDIgRnKeFkN80jpE1maKCzKdKv6SUW%2FGra6BXNYEVQb%2BkBSJyxL75WAR%2B%2FRtFYR3fmAG7cXrZv%2BAD5LucyFZ6fM72aLi6h8m%2BGtfF1qeo0pwc5wHs6kRPyJWBjS9CEHVLPGlj2BK9BifNdQxwwJ8oMy7sov5d0j60gGg0eIswZl80HeuhSuhCyhuY4WdAKTIUpAqOg8%2BI8NMJtjlUfFY1y6ydObjdv5Gxdyk%2Fq2DFUyZxhrILSjDQXBPUPYnvFPGBwGGaO8DasRjQRnKKAJFBFjM%2Fu%2Fbx7GhEbLTjR%2BOcE31hP%2FNC5XeKBekkqR%2BJju1wE1Su8orFF5ObO4Ff7UQLNpwK94pWagjgjkqynpuYScAfAau4bHKlo3hYNNiprXdNk7DfbkoeRjydk%2BXEQy%2FKcYOkyGXCHwFO3MViWP2aQtZN%2BRoTH6uR3UH7QMNjHg1qoJ2yjdZhHdabvqG%2BG5bJ0WZYCxGqd3rBP4vKR4m%2B1Sl9Bnw4Uyg1i6hlcxonJBF0DxTooZpYlnRwnSynHoT0C3A4eb5hh3DbJDZWwX4Oa5WoDJM%2FLt0uCTVHHh6CXRnqyTGPtYkASXtBj9E6qIQibCYdelV68cP6Af0%2BF%2BcApgOJlL5LiRCANXCEO1lStYM%2FM%2Fc8ZJtzw%2F4ciYV6X5YHANUOsKrv1zigKU3oCFkah50ZV8QoNkVxl9QVyLOyr%2FWekRTJez2MhHXx1HtYe9OP5Rx3ZnooNdzYW04mytp%2FoWXLTHgsRHYwJOQcqqL62aWG5Cw16qUCyDovTwAPFibs2Vg6GJHIXh%2B5l6Pn6dfeB2sk6%2FNelXtaM0z%2BFqDGQ7uXm1G%2BwqXDG9GtB7a07khhscBUQg3ZYKFH6Avuh7YXAKj1QrH9A%2B39%2FTHXWff7gKAiYt7VaREjhENgb1x8cB9IcL33UZdooNU4s94ddv3J%2B7j1Paan9yBM3sqLHwpamjxwGgb1tg27WTbxnoCRnBOZjzsTkISvHfK7MySpbhkMIMnOaWdLDZIFnrxh1kzUkodUtmE1%2FO3%2BuqIxBk6JNWpaHEF2JijMZH93SCUCeSAxNFMEbodneGEEebJWcRul4i5t0bt6aqGbkzVYkURuspTPDDH2beM%2BKgO53twniXgyLBp%2BvRzw6PScRtooxULM36yfFa%2FxEPj2wXHA00inaLz39EhSU8oLjtiimGYeSSQRkfjXV3291Whr%2FC26skQ2ah3KCchKuMV%2BA%2BgcTSVcBeHmp5Mcwt1VSlJsP2WTBwaLBor1WBX2Dksw1CvgFN9%2B3wI90bnLMhAIX6Yk2y4rtAUpYLnYXtDGwasEOc2adLNRLAFVce7UpQS%2Bt5gVftrw0&TextTime1=1998-06-04&TextTime2=2025-06-04&TextCname=&txtVin=&Txtcartype=&txtEngineno=&Button3=%E6%90%9C%E7%B4%A2&AspNetPager1_input=2&HiddenCountyear=&HiddenCount120=&HiddenCount240=&HiddenTtime=&HiddenOpenId=&HiddenBdtime=&HiddenVipId=&HiddenLasttime=&HiddenHfstate=&HiddenLastgch=&HiddenJyId=&HiddenHkscode=&HiddenBrand=&HiddenBrandname=&HiddenChassisnumber=&HiddenEngineDesc=&HiddenEngineStyle=&HiddenFamilyname=&HiddenGearbox=&HiddenGearboxName=&HiddenLyid=&HiddenProductyear=&HiddenVehiclename=&HiddenVehiclesale=&HiddenVin=&HiddenYearpattern=&HiddenDrivetype=&HiddenModelbrandlogourl=&HiddenModelbrandmfr=&HiddenModelid=&HiddenFueltype=&HiddenKilowattpower=&HiddenListedyear=&HiddenListedmonth=&HiddenStopyear=&HiddenBodynumdoors=&HiddenTransmissiondescription=&HiddenMakename=&HiddenModelbrandid=&HiddenMakeid=&HiddenIschoosevehicletype='\n", + "data = f'__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=B11l3tzXawEk0b8cq%2Ba6m7wQMBhupKdBU04Gc2xhLeQA8EBQPW6In24E3NYTVQsTkP%2FSdJAL1%2BXmvSLEbX4utTdJkCPEBJRfbGqQr19kLspSw6epHkPnl0P%2FpbFBH%2FOfJb2Ij8TfVdTkoR5SHsVxEUE1WIj%2Fa%2FSNnkB9Jy%2BaGVIc0yd%2FQtXKUkLfEIhqjJzL2iHA3SH%2Bm6nqiuGSBw2nAglduNSRy5mNqU6jkD2jlhbJMW7fkNwEjB9DV0mDK%2BkLfyi0fn10xe1F1dwm5f2bI2JGIvwcE68ToY5vzT%2FzQyNStxRzYE9xPPLUfzZ47t7k3CuN4oxXS63SLE%2FQ%2F4TRwGqWGq%2FcRtNlQjR%2BCaMMeHmgotwOFVF1gAlgofxhs2JEOq4lnO4gA3f82IBFvcvR7f09Tc%2BzlzDj%2Fc7UuH1vvimu9ZlhrvqSEK7znpIC1ntwQsKGMHswSHqiV9%2BLK5qjUdEcIiQs%2B8RPpPqLTO1bGVnQPtZdp0zZAWQFtmSVY%2FBhDwzqA%2FieZ7eff54Rs9JVnKUBOFqEWH6tmCexh4zrSPYAbQubnSSM1S0FkbXWl6CfFEIx2%2BUT6FrXTpo64JzSiGy0G4DxGAoojppjeC70DYC1zoTCT%2BItFnOBAOBAL2sOc5Zx5jxG7bXpgxNmQ4c2ttIRUOxXp%2FmJb6jEDfmKjhe18EQQKE%2FOWSeAqoWfaWtG%2BVHlN%2Fp%2B0WR8yl92Isp8bQUzevQwPU%2FL9NdTZX1rdArOIBlYywgeCNBo7vEqmmgeixpcXXl4q0%2BnMeGcWtkiyLdBEAbei%2FVg%2BiEeOiIR6vov7dSqp%2F4AbNKJ1WTB60a%2BPLFUmBwQ7djByErF3MHTec63Uxd1tBZMspFQHiR5UtERv4tNdlIv42pENHtSB9noDGcaynhVv%2BjRuE7zV4Jbh6Owc9f7kEC3Hx3xEtdN%2FB9yVxoIS0PRdZGEaLPVSwdELDQJINdier22QmKH12kkdsGcOlsDR8qYFYyVXSimPUsjaZszuqK%2Fpdp3NfY%2F9Yha0x5p%2F2Fu%2F7rMESNA3H1bzx2krOe%2BcofvpIJSrPN1iv66r%2FgmvI4riI4x2Y%2FVXWpV0RGDIFPe1gPGui31LlYSadFUiX57RCAgPEyHrunZErxmDOlAkz4w0UiUQoKnbixcng9AfemaWWXwruHaAFgBwP6ih9%2F89tSM7wh8l9MKEr2TfD4c8N41zjjGaO0uJ8k1fQRzefk57rt%2B%2F2%2FSZj3qd5pG%2BauBE%2FlkGp2nlwZSXshFkzbZB%2FV8AM5ok%2BnfRnnNvBteKo2iByKzuFPWd1Lxo0nUwtyvtLofwOrf7AusiZtx8afgoO3arqswI0NGlLV8P3S0oaNY4YqFpM6gBfaYi55ZykyWiqksHkMGXHW6gg0kzv0Sntp7HESRnKANNa9FPi0ApimYGHaj4xGUNYn81ngYzaaOQ7xAH1VemRzkJOJCyUYmTT3QlP0vLVH%2BvPpP1cFWkcBKuZHaEPagYC%2B21Kj415%2FRE%2FNriFDtaplYZtMohXTFgmP1lFDNDzXquJyAaqywdjk7SAJp4Ny8cLfVrDAeW3fVuBlh3xiTdYApKnCezAMC%2FTTDeigcDkZUQC2cOXniZMkD4WKMnXpdM49YqDE52moq29KTEXhxW1n3z7W5iG4%2Bb95TQb21FSSQ24yScV1n9ajNqYCqmeuxAFh%2FuoVIjVFxPk2zUxFmurnGJvQSrMIdRScR1Ela1%2B0LxRkh5rEXqlRIXtrM49tshQ2Gn8FD1DlbzjOsfsSRZE6gH8Xhxu%2FoputJZmSHmOJP6GVBF92bvbkf%2BBIvkhMc73mQPRKrSNmcOB1jmrukYOhCKcX%2Bx651aCQeoza1yc5FkF8i87QB4t%2BvoL3JW9pKg8pbw%2BryIDkIRIsD18QZAappnmVdl8vplQemurXymrd5X0kax9sUs9ql8DWQnMnUiIttfbCsaAFp%2BdJN5NlXVQtW8F%2B2tkwklr9wJ%2FeauTdrNosaafxrSqCvB5dMdf60WuPBHJXCGtDdiChO%2Bl3FWoK9HkcFUKnrkAAUhgdthwzS4CGFC2UNSrUjZt%2FTTCBgIqpZOMriuWZ%2BL2eOPKazfEcaBgFQGSltKvgs%2FzAU4ODHM7frC0mLRvwRrwiv4xhVa5afc1boTZiOMOtlwVahMLRQaIBlP%2BUNCSiqtc3YZXjukpn8yACk7qyZTO3D2SrbyAHKTj995flqkGJV5zponm98ECA9AXueGYZXFpj7J3%2B7izmfaSAxpIXmKX1uLCyYL2zWMOuXtxZ0fSNcY%2FHvAaBE9okzslcyQuDMQPruje4y30L%2Fb3oHresXZQr51FWcfHaI1dzKCMJF%2BIhISxjGNQFoEbuY4xXdhbvjTqROAo26iBpC31gnSrCE22sKxJ59p4QLND8xu6UzjtAQs8cSirBMI6LdRvYSSWcbjM400rwr8odGh70vErm5W0lQOkNnav5MUUjEOIc77EDUsNndav6QAPe0ABAl6FIUKMDNpSmPtbmYxzNKsUvCWwNtQ8b1cTGyiyOboAUnkvcW2%2BxaaVl8VMQERc7G7p7g7TsnDOWln3PxztL4Luw2EnFcZP9fE29IYpicjRhT%2BepCFKPhLGd3L1n%2B%2BaOGaTkWfgVS9aAXmGFNgXI7AF8p%2BJ6BI%2F610DHo1%2FWUxFZZp8z2NWcZLVGrlJGiMksTVgrQOUKFstZLv%2B2DRj5dcKLBaKGXYCo3NPZoCniwCHHjK%2BfDK6trfin7jTfI1G2VuSg7vcvF2TEkayi9Vk0KKGuwyxc5LCl5vh6H%2FXYxb6YeWWCGz3VMluH9rFMI0gaBLJWOqdXy%2FXND5%2BkD%2FiiWEiIy72ayGzZDZGsnhroMcDsAd2EKP6J%2F87O6cnN5xA%2BREqI0rwlZDSfvj75qrcSFWf7LL56N1kf3LnIxFcow935j2AXLcQyi6i7fyu%2B052mpK7oGg7fHJ4jJvaj%2BLr1fJQFS5h9e1s08bQfrXzyUvUKun5RX7P6%2BjkEHWggCiHpOMM3e7NGpEg%2F99DAJGiVaoC9PywIQBSGn%2FNqPZdh0nMY%2B52%2FlxTvP4baGG2cj4lZx6NMZ5izLBpMMCq5joMt21Wnq30FpbVvTue4J0lS13Q5JyqX39lxOSmmdgzrqRlZVRz%2Bqnad5yGkgA4eOa%2FmBy9vYh9nXHV2K3sERbr%2B9iiOXPbgoU2iVKkSVg3CdMQDu5A8%2FnDYhtQ%2Blp4lLab4mKrO4BpbjZxcLFnCv5LRr6P7hinB%2BHYlfC2KkgrH8nSsKDIxtm%2BnQgiePa7SUFDb15vtsOMU7RbhafD9tYIEeE3jTjG1FFQWygEnZImlBQWLzt3WGhPpTDTZ1I%2F7tvdHVzhO1wAnKCf1w7cUoeY0hzYC3zdFVs%2Bpiriz5QvxVsUxnIHqqUjikjQ3iRZVF2QxObnedgnC76H2pqw8e8dAqZzpe%2Bgk7cXPoNdXcr%2Fx2lGXXmV9bSL%2BuVMWe21dSrXE36%2BREyrlUkavhahE3r1%2Btfzf0Gmz1MedVDfqTrndwOPGvBB0%2Fmp0g2paAJKoVeDppTJSgoPZgiReiwRqpDFG7D%2Bu7x7mJ4MHjxhgt%2F80o3KQOQe9fGd%2Bm4%2B%2FPGYv7nwz9L9ZM2S4%2FpilgI12gOQtrBdBVl0RL9UOO8XXJo3HjOhWVHpo0H8aboDhrhotQyVzZHTcbYKHHxD0upjHCkvZP8l8a%2F%2B4LfgTZjt0Z4CnLIue7fa6MV9hfqj0YYXH7POaQVdC4UuOIgE8GcfaQZddukBj4GRnmht22j7Gym%2BiBUUnjj0ihx8gsyKqvN5v2cpzUk%2B4RpwlV2iup5DP3nahzTR04KukIhKjYgxA%2BKSo5RsxQgfVSsjG0DvXnSd9nfPWE%2BU8GFwq3STEW5A5xGNREsdvO3wS6QvExQ8XNBbjfR0BaHiId4PmqCIgf33WznMxZJefnldrfxRwilfKgE%2FWIvj2zjRBMH5VE%2FYHio5dAYni8JEY7AYK1%2Fw1skCHfilosztTTECRWkNEce6NJpIhc1BiuCw81oYS9pDii%2BQKaN7fVpS8AWfXrbXlNvsiTfxDegmEVrjRCaiDGRG1gAYKWGevzZ1k7dXz1m%2B8zHgz11AmBJDo6wOJVT3tBhrrRKc%2FCULGvqERJdRswX2pOvKn9OSUamyUm7fUqi3VLJS%2FtE4HfLwv26ZD3DiJ0KJE0%2BMH5227otab1%2B6%2Bypd60atrrWyzLqta0WGgEvCS4pWnRocc4dTC1odLUIGj6R2GRqk2NWJkwPOnk9qq1Qw3BYc3bup5o496To1874HrrqE1Ri8pTteIBybo04yOsQeop8IZ1JYmcwbZniCT%2FW2BILJQ%2BlNk%2FJ0NhDtf5hN2qXwotZxj9tJtlIxs0SFnV0P%2FWzOOFiN8YREJ1Y9hN7kGvBtIkqhd4f48W3FKO31RdYNJN%2FlO1iFN%2BoB1l4xbOtwKEDj2ZEEyKXdCDHRVKwkX8dY8Hnsi%2B%2FUnD72IOF56UdipwxZv6w6nb3GuBUiVif2SGSIqd16pP0P9OQVdACOmsBaGRVSpNTG6Zye7rlaJ611jAi9bZaGN%2FIBTO7c1Rcy8dvQTKY7FcTlFIl2Kty4La7NUahHmmhmc2zRcEfVWvpbWTaFmNq6NShLMdEDfNBrc0lFaT85QykDAEwqwna2V8v0dgjyybPe6tf4sbk6YblxGkSClJVS3c6H6mH3mjOgSKa0DY50MraLbS0ZNszvEiy2LoGQHc5LkYwNen%2BbC9A27p84b7ZaIYkmvJ5VGiX2XGxeiJrCcs6jS1hSlCLsOPMKal9Fh%2FEBFyRKSTSHHg3HXK4rQ%2BgRO0br6AJOjHZ07YzP8h2C29ekdNA%2FSN6ASHIDqRGId7aB2pcJdvsMT9PI7dY6skTP1VoiFhyfTNcCfFe4PLhLXxhS7jnkvJkZNDmhaD4AXDwKdGYfkCkBGIRDifkPglR8EbPZ9mb6JctU7EO8YvEHY%2BtKTZaXn3HqpbZm5ps1CUvL5XHYioGXSKNU8QpCU%2BzLrWUEaWdej7jFsDICuFrs69VGsXnRIyuN320kBF7LkdRIzT4yEVfCpP6gdBU2MjcZtrdkVknd8UbUm12CbCJDHdT4KD20riFRPQX%2F0NjFz6aqEmEZS%2FBWLC1Z2TQLbQ7bpUC8E%2BCm2bJUCQYLMFH5%2F69kcj5g8ZvgiV3QoLUEyGOM6Z%2Bnzr8cnA4AP8RMHxN2kAKE7tbxLHoBVeTKvKgcdaQyBB2Bm8MlrrFOMzoaO45FN3P%2F8T9epaIY3IEzWThHPBrTlpz2Ng6LD4Lr9dAOY%2FI%2BjXVc%2F7637q2OiV6YzlJzcS9VI4fAabOr11cVS%2FF9v2RpyIq1BCaYk12ay%2Bwfg7Mpxve1dPnIJvKBCEs2HiXJWNiYtqOT9TaUfI%2FEkP93lJBtHt184cMU9AJMqyMOajLJ7HC7ONrgy%2FN8tHU0kkGHOXmPirNSFfbgCrZP2mAEBZAisnvhsrEPbrV1EboRGEI40Oh43cRJ0wSlnhZAbA1FPrjoYahYlzGkGmaBL9X%2F98ZBzmLKMXhRpDi4DksF3iQrA8GC6Ma3Q9FL1xxG4Gvo%2BgIZlUq8RCoupDtdMpSKH6bf%2FA23ohQTTlKmMPOyu5lLtD3LmX6tqUKF0JtQSf6d0xc%2FnRcAjPcmEXFmdArAK%2F0cInrnQMD67TLhqnFF8bHiHTK87pqhfayHnnWiCWolGL7clQIxAg3pGm4ImbYaeD2NChvYWF%2FvsuvR9AL2xOaZlWNU3RcY0%2BDDYdZbx%2Bzp4S2S3CpqM%2FyxCOY5ACCDW2rT4NhoRa8UPWi%2FGQvSIA0xpKpbFnr0beNWbalNHQj%2F0uOgoljhRDUxBj7IYBsRNLJ03y9MqlZ3woSedkrMcsoGCgA0UZwXcYRIDBdUu0e8lsq471a97lJ7cYuUjHvLQGIW4G4kiOYaer1i2zs5njBwPMx5WBE0bTnQpDNoP%2FLx4CMVaMsizPjZgmdPARUnlfll%2FKwHKNPwozAmXE%2BfxlFlWZN3rQRdTheHHporhsyPqHVn72oy335MFTAoHjqFSDg1xC4Em0DQGdIl1A%2FQ96ClW2Td9cZ2PWJtooiL%2Bo0frIYpUNo3xxls3AwMrp1osaVX5yK6YCfFdsAUAKu4%2BI96i%2Fq9DQlI87z5U%2B%2FxQ7%2FsMtFN%2FjZYxbEIR3a8TP%2BRAL8h7L01U6kscum2NJpzFuix6J0DYzOAILDPWUrMHH0INeSTK5T0MV8SD%2F9JxhzBribBHvhE0pcHZcagydInq3aB9T6MCkrjvs37nZbO7IOOefRmTIAZUnPJNl4yOxxGN9IGQjhuyK9pU%2B2rbxJ6Uvj3SZF0EjQ2cND6ajOuW6whNkFVbWdo4EBIwhWqEtFMAvwm%2BoVps8bTSbQSm8DUY24%2BaUOjHVvZMgWWAim1cZjGfgGoyASIXVouiScgTcfJRdnjeq5GHdWZ%2FAUIvIxmr181qNo0xtfMlJ09WlOZsnSscwMkzrh0otJ7%2Biaoijq5W5PQit7PsxqqTx4P31ciczNxYmh0pMKEBvuQ0RjuKz0EnHNN98XjqrYcsCR9Gu2RVbOLHMsvxB0lihmTTWVPFoCTWtHwsOO%2FsH8JrdA691s3oC2sQH39PwJYy6oGORFStOI%2BpRWcbgk3bi1%2Flpp1TvdrDcf3H62jAmhfnWNQKbR8fynrQ5WP%2F1vgcppbxazh%2FXHpTZsHlD4AeX3iOP1L0Kw1IDw1ZUpV9Srrt1rkz2GNxRdUpC7ooiJCu2nefyfUXn3smNuAv2LoKvDfCdMnvPqoM3UBETk4JCFDvyk8bGho3o0P8Vp5lAXg2ty4P7cU34Da0exB90ElEME6k2YhCVULH5yrGXXWSfMBFhday3m%2BvEKoVS29t%2Be5PHTg8qsf5Rci6U2LHCPX%2F8%2BI4P8TNBkAqVGzORZorbnnVKxrVpGZ2iXYiE69Fw9lXgqyGZ3N728Uk9oZjCylpWjsrgJ3sGrfjqi%2BCYUvuCXCw1XfvuKRCAg0kioXyAOUwPWPo%2F1UoH6eJDEFAkFeQ9zAaoE3dHR3OloRhoWZ8G%2B31HRKIYS8FXED4Qnv6IAvyli9Y%2BMnHrsqAq6KayD%2BywrjjIFkTsg8ZvS487DCcAfYGL3qGbaPcYIb0pP%2BDzKEK%2BUQtuDNLlfY2EYYPJXBgSUw5onfKPfit7XTGdnZ8InJZ9zcLgELiTC38%2BzYdBaTIQRrVW0AlixS7fklQHB%2BV60A8gOl5RBbjoFKELeecOS4Jq9NKLOkd3NQm2wHDfg%2B3i1F7RJNCbZELfq87b9LQTt1he0C4pZgwsBQeKfAEuU8AAQpllLnBd7yzVd6D%2FUeeiWFNiOnCchj1IZWhw6JrD93onfXWnEuig5ODkt6ge%2FlTbguez81mIFGSCPm10t%2FxyZ4N3m5WeqE8piHlyLzMCbBG5h73LRG3EKIn9Nt4cC5LbugMkVgnYXx7hHFYCDQWoV02DS9HX%2FIXP2t%2BOCdaeDB1DEKDhfTjio4fpHwGzkFns9BAAykT2ApJV%2BOO9pHjKLswMNvtP8Pn7flezDT83iG5HK2J4GE1QuE8M7sdewQ%2Bd3mb7iaI0FGXEqg1VlEF1Hd5j2YeDnIoZwZo4m9cNP9QP5C4Bkq%2FOPYIfWqSKsgIcIhI0owgFqPoSME6fsnoXWmm757v1txb5F7EFQZogG2JMlwt7DiR01c1PRLUrEwc8eiNQDEPmYWRpaCuUjZj2UA8ZF41XDUyd0qVfPIdU8GU4o8dXHTOUVDniIclPoWRiPf4dDuqKdTKJbah%2BIsno%2BOCdZPkAamwuYA7hTbQjfiBAGnngcMGYRSs8TaOxcl%2FLo7i%2BRBvwjQn6hhQYB8CjL2T5RymIHeSkJCjCF1T5AULvvierJYBJAZw0gyZlnaiYYpMuyat7zyJpUZIHWxb0x9ZCaox3BaWs7C5SXb31LmHFfY89S5d6GRbFc6vUxRxyzkzVhn7qhBNMwqTpLWugpL%2FwRjY0U%2BczIlU7Q6M0%2FNOhxGgeBpYL7rBLE%2Bvel4027N7uGhiZA1tVrmdsDThNr7g32hMUMdX9lV4NVwnTTyAXmeai9bPyvJYsuPkqzDy9z1r%2FFnuXm%2BaHndBK5T4emi55WSEPwFH9L9Rhzes0pRWMhbIrKChC3ABiIFw65xmZYyWhC9vwSLg%2FF%2FAxhEMgEbFYeNCDerHJd0RF3TvZgaHFW%2F%2BE88y%2Fx9M834K4Yn2QQH0lYm4JjqImNFJsHAUgthpxir4z7UG8agA7i9Af4HxH4DTSrrOHxLyAy1gWR9dEXahRCcr4xvIvyzWF4NVyaNIXAt7JhZBvwPJe5TJS4IVEWnJoG6KhZ39OdKROUKEj2mBnDJ049DeZNDBgpovkiDhxT%2BZl9uwVCXaJnHhKke7VbcBezE6%2BlNtZdBt%2FlXdx5v9e1UTyguAQQzRaB9n2X1Qxu2n5%2Fgt1YNYAk3bVXuIaNP7pec5HDuFXqDQlnsGtEOKN99lGP%2FwWplsSoScmnFft&__VIEWSTATEGENERATOR=B80C0CC7&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=cm8Bauk0LSpuEYHh2V9yIfW6Uw0CTau%2FyGAIcEDyPsmTgRdIvOeqDPkO4nSAez40zB%2FVIH%2FKJKYYnAiKjXJdvTmGRbFIt%2FBH3%2FMqsLD7XvVfzgphQNW4uqSBfZDF9pXjzO2luJ28MFUhV3bjfC5EpFYNlNXZPTBEa4%2F7AOvsClO3zCFDswTQkgFhHx6AiW00OvJPobBywiwKAevGKkk6DutC%2F4m9Pux5qoDLffHF9OizyTQXU7X3oGuBEVXFhs3FzzrwRuo%2BXR4EOAzC38icqj%2FRhwE0MvmJq323ZwPo3F2fljJPmp8F1E6V5WJnDx8vZlxLIAHKotCmsBAEH6IVX4vGJwB9X1GiL%2FSzftqnzHd%2BR1Wok5cmMiE9AFOAMtbguU8yOtQPHDzD9vq7gaOPpvwe7X%2BLo%2BCqlySErSE1xOqVfDMPXzROQ4zBHFV3yPRYEPMX8SMG6mL3ldYwFjYehpKAcBL5RQ2qcnmPlToQlcFyi4H%2F%2FEGYQs1y5ux5o2KRj85rN6Ev9n3o5jTZ8c%2FgfKg3sh%2BWDQfyLesTt%2F7zipRJsUMWzRIhrsIG9DfWDsvGndrcfLFTljGRWURloGp5n92n25wgtRVIr8E9UBj5Z%2Fz6pxY%2BlIl8JiyOguE%2FbZYyTZ0Vfk73%2FSSuxvrM%2FPFLv03m9QDr1RSjZighoIUctZEWTXWGK%2FoaXnxJtfBCX%2FWxXE9%2BC7LXWp0SQy220co3pf6B4ukL%2Bkpoto3uRfESk%2B%2BATUSNyTFUZxQVC4gCWyuXjWWMhLw9opvUDYs6fkaKy2bVqFHICN1JT3rdKy1T%2B%2FqDmJpbXoYjj8YX%2FVBPfpW9P%2BYaVz2dRo3FSuR66jdZfBTSYOkIqC%2F3Ixf9VcRrQ0C1svpEbfCnFy6cQyK%2Bcf%2FniRphKDMK%2Bf%2Fgvstz7FNHbq0qB%2B8jvW2EHVXu2JCFQn%2BQWLa7qZdM6UlaBA0KP0XlNvCp5%2BR2wOqVv2yEudVUVbIRwAhoOzWx5F83QLoGPIVektsBAwXVYRRcqHI4qFotSp1WIK7zOb5Z5ltRN7KJo%2FfTpawX3uLKYyaWP%2BNXK9UtxiRBlyD4PHzGpYGRi%2FbRf34JO5%2FRUyxaK67i%2Ba3FLWFGWAJ7UHfzBpwWN8jA0MHm%2Bq0w8kl1Yn%2BQi3dQHPKOPwTtqIQJzjcLNpwGhEs6%2FYeRc2em1T3dsum0dVJhaVnS53XnXsnr8T%2FnejKs46EhxbdnzrBoeYCyRM%2BN8B5pUnv7AQjFQvwEHA07uQ9tXBS8R5%2FNQOD3PMWBu4pZ%2B9qgtOWMLytxLBnRFMRJadLUA%2Bti44f3ZeRFVXVErW4drukDNaStviFs7S6i96scxEiukXOS2P1Ts43bPCiCBsm8Q4cXZ6sgdox6kO0BT3AXiFpYqRhh7imB5nKQjX1yradmSHQ%2BppW8eHpI4T7RUbXxEQnvpBMJAeGcvmylmSMkSmzhlnhjNAWgsZsUnRniru7VFaIymHOdfXBLPeLICGRxtAiPA%2BAadMYBz1%2Frglow3CjsXAptzE1OrRQK3wSXvWNd%2Fq4ie8NFHXG982a1iP4%2BEJPQKAhETqqo2czGS%2BibTfpG5jHToikYmhimCvNInBNK5xygrF74Angyq5638JVsLYbKs436WPXFdUw32NIRdDhWhGQpj4rwa8mlxdZVdQXEVPFCk%2BS%2FGZIwT%2FqpMhOCEeDdu9JUl%2FJhpm3ixNkmLX1QXm5SKRKwyjio2hcnc8GDXFqdRA%2Ba5A2OiJh86ZWMZ2ff1kddUZra84S4JYT93xnOA3yl2swVBXD66bgTuDj1E7lnqzoqvoqzhEHRwIAJb7n4q0UHswnHTEPHq5Wm6sEr0nfAonVQsT%2BGnjj5Ujc3MVJ2nkZSeoiO9mkGlqjdL27goFU%2B8HOPePRC5GKkBZ4rZt2oWQxSxnsGUyh6%2FufViDsa2JAWqqy9LnlQ0SjNFHCnJ7jZfk5ICxjVyQ%3D%3D&TextTime1=2015-01-01&TextTime2=2026-04-25&TextCname=&txtVin=&Txtcartype=&txtEngineno=&Button3=%E6%90%9C%E7%B4%A2&AspNetPager1_input=4&HiddenCountyear=&HiddenCount120=&HiddenCount240=&HiddenTtime=&HiddenOpenId=&HiddenBdtime=&HiddenVipId=&HiddenLasttime=&HiddenHfstate=&HiddenLastgch=&HiddenJyId=&HiddenHkscode=&HiddenBrand=&HiddenBrandname=&HiddenChassisnumber=&HiddenEngineDesc=&HiddenEngineStyle=&HiddenFamilyname=&HiddenGearbox=&HiddenGearboxName=&HiddenLyid=&HiddenProductyear=&HiddenVehiclename=&HiddenVehiclesale=&HiddenVin=&HiddenYearpattern=&HiddenDrivetype=&HiddenModelbrandlogourl=&HiddenModelbrandmfr=&HiddenModelid=&HiddenFueltype=&HiddenKilowattpower=&HiddenListedyear=&HiddenListedmonth=&HiddenStopyear=&HiddenBodynumdoors=&HiddenTransmissiondescription=&HiddenMakename=&HiddenModelbrandid=&HiddenMakeid=&HiddenIschoosevehicletype='\n", "\n", "response = requests.post(url, headers=headers, data=data)\n", "\n", @@ -219,7 +215,7 @@ "\n", "\n", "df = pd.DataFrame(data_list, columns=header_list)\n", - "df.to_excel(r\"D:\\Idea Project\\F6+宜搭+其它(1)\\new\\文件输出\\快修哥客户信息导出1.xlsx\")" + "df.to_excel(r\"D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\快修哥客户信息导出1.xlsx\")" ], "id": "f6224736767514e4", "outputs": [ @@ -227,27 +223,203 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 1095/1095 [16:10<00:00, 1.13it/s]\n" + " 0%| | 0/1095 [00:00 \u001B[39m\u001B[32m1450\u001B[39m \u001B[43mresponse\u001B[49m\u001B[43m.\u001B[49m\u001B[43mbegin\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 1451\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mConnectionError\u001B[39;00m:\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\http\\client.py:336\u001B[39m, in \u001B[36mHTTPResponse.begin\u001B[39m\u001B[34m(self)\u001B[39m\n\u001B[32m 335\u001B[39m \u001B[38;5;28;01mwhile\u001B[39;00m \u001B[38;5;28;01mTrue\u001B[39;00m:\n\u001B[32m--> \u001B[39m\u001B[32m336\u001B[39m version, status, reason = \u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43m_read_status\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 337\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m status != CONTINUE:\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\http\\client.py:297\u001B[39m, in \u001B[36mHTTPResponse._read_status\u001B[39m\u001B[34m(self)\u001B[39m\n\u001B[32m 296\u001B[39m \u001B[38;5;28;01mdef\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34m_read_status\u001B[39m(\u001B[38;5;28mself\u001B[39m):\n\u001B[32m--> \u001B[39m\u001B[32m297\u001B[39m line = \u001B[38;5;28mstr\u001B[39m(\u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43mfp\u001B[49m\u001B[43m.\u001B[49m\u001B[43mreadline\u001B[49m\u001B[43m(\u001B[49m\u001B[43m_MAXLINE\u001B[49m\u001B[43m \u001B[49m\u001B[43m+\u001B[49m\u001B[43m \u001B[49m\u001B[32;43m1\u001B[39;49m\u001B[43m)\u001B[49m, \u001B[33m\"\u001B[39m\u001B[33miso-8859-1\u001B[39m\u001B[33m\"\u001B[39m)\n\u001B[32m 298\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mlen\u001B[39m(line) > _MAXLINE:\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\socket.py:719\u001B[39m, in \u001B[36mSocketIO.readinto\u001B[39m\u001B[34m(self, b)\u001B[39m\n\u001B[32m 718\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m--> \u001B[39m\u001B[32m719\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43m_sock\u001B[49m\u001B[43m.\u001B[49m\u001B[43mrecv_into\u001B[49m\u001B[43m(\u001B[49m\u001B[43mb\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 720\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m timeout:\n", + "\u001B[31mTimeoutError\u001B[39m: timed out", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001B[31mKeyboardInterrupt\u001B[39m Traceback (most recent call last)", + "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[1]\u001B[39m\u001B[32m, line 75\u001B[39m\n\u001B[32m 73\u001B[39m \u001B[38;5;28;01mfor\u001B[39;00m attempt \u001B[38;5;129;01min\u001B[39;00m \u001B[38;5;28mrange\u001B[39m(max_retries):\n\u001B[32m 74\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m---> \u001B[39m\u001B[32m75\u001B[39m new_response = \u001B[43mrequests\u001B[49m\u001B[43m.\u001B[49m\u001B[43mpost\u001B[49m\u001B[43m(\u001B[49m\u001B[43murl\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mheaders\u001B[49m\u001B[43m=\u001B[49m\u001B[43mheaders\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdata\u001B[49m\u001B[43m=\u001B[49m\u001B[43mdata\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mtimeout\u001B[49m\u001B[43m=\u001B[49m\u001B[32;43m20\u001B[39;49m\u001B[43m)\u001B[49m\n\u001B[32m 76\u001B[39m new_response.raise_for_status()\n\u001B[32m 77\u001B[39m \u001B[38;5;28;01mbreak\u001B[39;00m \u001B[38;5;66;03m# 成功则跳出循环\u001B[39;00m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\requests\\api.py:115\u001B[39m, in \u001B[36mpost\u001B[39m\u001B[34m(url, data, json, **kwargs)\u001B[39m\n\u001B[32m 103\u001B[39m \u001B[38;5;28;01mdef\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34mpost\u001B[39m(url, data=\u001B[38;5;28;01mNone\u001B[39;00m, json=\u001B[38;5;28;01mNone\u001B[39;00m, **kwargs):\n\u001B[32m 104\u001B[39m \u001B[38;5;250m \u001B[39m\u001B[33mr\u001B[39m\u001B[33;03m\"\"\"Sends a POST request.\u001B[39;00m\n\u001B[32m 105\u001B[39m \n\u001B[32m 106\u001B[39m \u001B[33;03m :param url: URL for the new :class:`Request` object.\u001B[39;00m\n\u001B[32m (...)\u001B[39m\u001B[32m 112\u001B[39m \u001B[33;03m :rtype: requests.Response\u001B[39;00m\n\u001B[32m 113\u001B[39m \u001B[33;03m \"\"\"\u001B[39;00m\n\u001B[32m--> \u001B[39m\u001B[32m115\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43mrequest\u001B[49m\u001B[43m(\u001B[49m\u001B[33;43m\"\u001B[39;49m\u001B[33;43mpost\u001B[39;49m\u001B[33;43m\"\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43murl\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdata\u001B[49m\u001B[43m=\u001B[49m\u001B[43mdata\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mjson\u001B[49m\u001B[43m=\u001B[49m\u001B[43mjson\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43m*\u001B[49m\u001B[43mkwargs\u001B[49m\u001B[43m)\u001B[49m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\requests\\api.py:59\u001B[39m, in \u001B[36mrequest\u001B[39m\u001B[34m(method, url, **kwargs)\u001B[39m\n\u001B[32m 55\u001B[39m \u001B[38;5;66;03m# By using the 'with' statement we are sure the session is closed, thus we\u001B[39;00m\n\u001B[32m 56\u001B[39m \u001B[38;5;66;03m# avoid leaving sockets open which can trigger a ResourceWarning in some\u001B[39;00m\n\u001B[32m 57\u001B[39m \u001B[38;5;66;03m# cases, and look like a memory leak in others.\u001B[39;00m\n\u001B[32m 58\u001B[39m \u001B[38;5;28;01mwith\u001B[39;00m sessions.Session() \u001B[38;5;28;01mas\u001B[39;00m session:\n\u001B[32m---> \u001B[39m\u001B[32m59\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43msession\u001B[49m\u001B[43m.\u001B[49m\u001B[43mrequest\u001B[49m\u001B[43m(\u001B[49m\u001B[43mmethod\u001B[49m\u001B[43m=\u001B[49m\u001B[43mmethod\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43murl\u001B[49m\u001B[43m=\u001B[49m\u001B[43murl\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43m*\u001B[49m\u001B[43mkwargs\u001B[49m\u001B[43m)\u001B[49m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\requests\\sessions.py:589\u001B[39m, in \u001B[36mSession.request\u001B[39m\u001B[34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001B[39m\n\u001B[32m 584\u001B[39m send_kwargs = {\n\u001B[32m 585\u001B[39m \u001B[33m\"\u001B[39m\u001B[33mtimeout\u001B[39m\u001B[33m\"\u001B[39m: timeout,\n\u001B[32m 586\u001B[39m \u001B[33m\"\u001B[39m\u001B[33mallow_redirects\u001B[39m\u001B[33m\"\u001B[39m: allow_redirects,\n\u001B[32m 587\u001B[39m }\n\u001B[32m 588\u001B[39m send_kwargs.update(settings)\n\u001B[32m--> \u001B[39m\u001B[32m589\u001B[39m resp = \u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43msend\u001B[49m\u001B[43m(\u001B[49m\u001B[43mprep\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43m*\u001B[49m\u001B[43msend_kwargs\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 591\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m resp\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\requests\\sessions.py:703\u001B[39m, in \u001B[36mSession.send\u001B[39m\u001B[34m(self, request, **kwargs)\u001B[39m\n\u001B[32m 700\u001B[39m start = preferred_clock()\n\u001B[32m 702\u001B[39m \u001B[38;5;66;03m# Send the request\u001B[39;00m\n\u001B[32m--> \u001B[39m\u001B[32m703\u001B[39m r = \u001B[43madapter\u001B[49m\u001B[43m.\u001B[49m\u001B[43msend\u001B[49m\u001B[43m(\u001B[49m\u001B[43mrequest\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43m*\u001B[49m\u001B[43mkwargs\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 705\u001B[39m \u001B[38;5;66;03m# Total elapsed time of the request (approximately)\u001B[39;00m\n\u001B[32m 706\u001B[39m elapsed = preferred_clock() - start\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\requests\\adapters.py:644\u001B[39m, in \u001B[36mHTTPAdapter.send\u001B[39m\u001B[34m(self, request, stream, timeout, verify, cert, proxies)\u001B[39m\n\u001B[32m 641\u001B[39m timeout = TimeoutSauce(connect=timeout, read=timeout)\n\u001B[32m 643\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m--> \u001B[39m\u001B[32m644\u001B[39m resp = \u001B[43mconn\u001B[49m\u001B[43m.\u001B[49m\u001B[43murlopen\u001B[49m\u001B[43m(\u001B[49m\n\u001B[32m 645\u001B[39m \u001B[43m \u001B[49m\u001B[43mmethod\u001B[49m\u001B[43m=\u001B[49m\u001B[43mrequest\u001B[49m\u001B[43m.\u001B[49m\u001B[43mmethod\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 646\u001B[39m \u001B[43m \u001B[49m\u001B[43murl\u001B[49m\u001B[43m=\u001B[49m\u001B[43murl\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 647\u001B[39m \u001B[43m \u001B[49m\u001B[43mbody\u001B[49m\u001B[43m=\u001B[49m\u001B[43mrequest\u001B[49m\u001B[43m.\u001B[49m\u001B[43mbody\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 648\u001B[39m \u001B[43m \u001B[49m\u001B[43mheaders\u001B[49m\u001B[43m=\u001B[49m\u001B[43mrequest\u001B[49m\u001B[43m.\u001B[49m\u001B[43mheaders\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 649\u001B[39m \u001B[43m \u001B[49m\u001B[43mredirect\u001B[49m\u001B[43m=\u001B[49m\u001B[38;5;28;43;01mFalse\u001B[39;49;00m\u001B[43m,\u001B[49m\n\u001B[32m 650\u001B[39m \u001B[43m \u001B[49m\u001B[43massert_same_host\u001B[49m\u001B[43m=\u001B[49m\u001B[38;5;28;43;01mFalse\u001B[39;49;00m\u001B[43m,\u001B[49m\n\u001B[32m 651\u001B[39m \u001B[43m \u001B[49m\u001B[43mpreload_content\u001B[49m\u001B[43m=\u001B[49m\u001B[38;5;28;43;01mFalse\u001B[39;49;00m\u001B[43m,\u001B[49m\n\u001B[32m 652\u001B[39m \u001B[43m \u001B[49m\u001B[43mdecode_content\u001B[49m\u001B[43m=\u001B[49m\u001B[38;5;28;43;01mFalse\u001B[39;49;00m\u001B[43m,\u001B[49m\n\u001B[32m 653\u001B[39m \u001B[43m \u001B[49m\u001B[43mretries\u001B[49m\u001B[43m=\u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43mmax_retries\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 654\u001B[39m \u001B[43m \u001B[49m\u001B[43mtimeout\u001B[49m\u001B[43m=\u001B[49m\u001B[43mtimeout\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 655\u001B[39m \u001B[43m \u001B[49m\u001B[43mchunked\u001B[49m\u001B[43m=\u001B[49m\u001B[43mchunked\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 656\u001B[39m \u001B[43m \u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 658\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m (ProtocolError, \u001B[38;5;167;01mOSError\u001B[39;00m) \u001B[38;5;28;01mas\u001B[39;00m err:\n\u001B[32m 659\u001B[39m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mConnectionError\u001B[39;00m(err, request=request)\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\urllib3\\connectionpool.py:787\u001B[39m, in \u001B[36mHTTPConnectionPool.urlopen\u001B[39m\u001B[34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001B[39m\n\u001B[32m 784\u001B[39m response_conn = conn \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m release_conn \u001B[38;5;28;01melse\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m\n\u001B[32m 786\u001B[39m \u001B[38;5;66;03m# Make the request on the HTTPConnection object\u001B[39;00m\n\u001B[32m--> \u001B[39m\u001B[32m787\u001B[39m response = \u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43m_make_request\u001B[49m\u001B[43m(\u001B[49m\n\u001B[32m 788\u001B[39m \u001B[43m \u001B[49m\u001B[43mconn\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 789\u001B[39m \u001B[43m \u001B[49m\u001B[43mmethod\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 790\u001B[39m \u001B[43m \u001B[49m\u001B[43murl\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 791\u001B[39m \u001B[43m \u001B[49m\u001B[43mtimeout\u001B[49m\u001B[43m=\u001B[49m\u001B[43mtimeout_obj\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 792\u001B[39m \u001B[43m \u001B[49m\u001B[43mbody\u001B[49m\u001B[43m=\u001B[49m\u001B[43mbody\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 793\u001B[39m \u001B[43m \u001B[49m\u001B[43mheaders\u001B[49m\u001B[43m=\u001B[49m\u001B[43mheaders\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 794\u001B[39m \u001B[43m \u001B[49m\u001B[43mchunked\u001B[49m\u001B[43m=\u001B[49m\u001B[43mchunked\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 795\u001B[39m \u001B[43m \u001B[49m\u001B[43mretries\u001B[49m\u001B[43m=\u001B[49m\u001B[43mretries\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 796\u001B[39m \u001B[43m \u001B[49m\u001B[43mresponse_conn\u001B[49m\u001B[43m=\u001B[49m\u001B[43mresponse_conn\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 797\u001B[39m \u001B[43m \u001B[49m\u001B[43mpreload_content\u001B[49m\u001B[43m=\u001B[49m\u001B[43mpreload_content\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 798\u001B[39m \u001B[43m \u001B[49m\u001B[43mdecode_content\u001B[49m\u001B[43m=\u001B[49m\u001B[43mdecode_content\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 799\u001B[39m \u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43m*\u001B[49m\u001B[43mresponse_kw\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 800\u001B[39m \u001B[43m\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 802\u001B[39m \u001B[38;5;66;03m# Everything went great!\u001B[39;00m\n\u001B[32m 803\u001B[39m clean_exit = \u001B[38;5;28;01mTrue\u001B[39;00m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\urllib3\\connectionpool.py:534\u001B[39m, in \u001B[36mHTTPConnectionPool._make_request\u001B[39m\u001B[34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001B[39m\n\u001B[32m 532\u001B[39m \u001B[38;5;66;03m# Receive the response from the server\u001B[39;00m\n\u001B[32m 533\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m--> \u001B[39m\u001B[32m534\u001B[39m response = \u001B[43mconn\u001B[49m\u001B[43m.\u001B[49m\u001B[43mgetresponse\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 535\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m (BaseSSLError, \u001B[38;5;167;01mOSError\u001B[39;00m) \u001B[38;5;28;01mas\u001B[39;00m e:\n\u001B[32m 536\u001B[39m \u001B[38;5;28mself\u001B[39m._raise_timeout(err=e, url=url, timeout_value=read_timeout)\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\urllib3\\connection.py:571\u001B[39m, in \u001B[36mHTTPConnection.getresponse\u001B[39m\u001B[34m(self)\u001B[39m\n\u001B[32m 568\u001B[39m _shutdown = \u001B[38;5;28mgetattr\u001B[39m(\u001B[38;5;28mself\u001B[39m.sock, \u001B[33m\"\u001B[39m\u001B[33mshutdown\u001B[39m\u001B[33m\"\u001B[39m, \u001B[38;5;28;01mNone\u001B[39;00m)\n\u001B[32m 570\u001B[39m \u001B[38;5;66;03m# Get the response from http.client.HTTPConnection\u001B[39;00m\n\u001B[32m--> \u001B[39m\u001B[32m571\u001B[39m httplib_response = \u001B[38;5;28;43msuper\u001B[39;49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\u001B[43m.\u001B[49m\u001B[43mgetresponse\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 573\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m 574\u001B[39m assert_header_parsing(httplib_response.msg)\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\http\\client.py:1466\u001B[39m, in \u001B[36mHTTPConnection.getresponse\u001B[39m\u001B[34m(self)\u001B[39m\n\u001B[32m 1464\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m response\n\u001B[32m 1465\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m:\n\u001B[32m-> \u001B[39m\u001B[32m1466\u001B[39m \u001B[43mresponse\u001B[49m\u001B[43m.\u001B[49m\u001B[43mclose\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 1467\u001B[39m \u001B[38;5;28;01mraise\u001B[39;00m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\http\\client.py:435\u001B[39m, in \u001B[36mHTTPResponse.close\u001B[39m\u001B[34m(self)\u001B[39m\n\u001B[32m 432\u001B[39m \u001B[38;5;28mself\u001B[39m.fp = \u001B[38;5;28;01mNone\u001B[39;00m\n\u001B[32m 433\u001B[39m fp.close()\n\u001B[32m--> \u001B[39m\u001B[32m435\u001B[39m \u001B[38;5;28;01mdef\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34mclose\u001B[39m(\u001B[38;5;28mself\u001B[39m):\n\u001B[32m 436\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m 437\u001B[39m \u001B[38;5;28msuper\u001B[39m().close() \u001B[38;5;66;03m# set \"closed\" flag\u001B[39;00m\n", + "\u001B[31mKeyboardInterrupt\u001B[39m: " ] } ], - "execution_count": 6 + "execution_count": 1 + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": [ + "df = pd.DataFrame(data_list, columns=header_list)\n", + "df.to_excel(r\"D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\快修哥客户信息导出1.xlsx\")" + ], + "id": "832d7d934592ee43" + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "# 库存统计", + "id": "813332e4b90ede24" }, { "metadata": { "ExecuteTime": { - "end_time": "2025-06-04T03:48:15.272399Z", - "start_time": "2025-06-04T03:48:15.207428Z" + "end_time": "2026-04-25T09:25:41.562062400Z", + "start_time": "2026-04-25T09:25:41.103960200Z" } }, "cell_type": "code", "source": [ - "df = pd.DataFrame(data_list, columns=header_list)\n", - "df.to_excel(r\"D:\\Idea Project\\F6+宜搭+其它(1)\\new\\文件输出\\快修哥客户信息导出1.xlsx\")" + "import requests\n", + "\n", + "cookies = {\n", + " 'ASP.NET_SessionId': 'ciw1fuls0atkqaj4gkxhzngy',\n", + " 'Hm_lvt_ab3baaa579f771d051a6b0baad5a8cfe': '1777102209',\n", + " 'HMACCOUNT': '0838F6FCCBE848D9',\n", + " 'iswatchme': '0',\n", + " 'setaddat': '0',\n", + " 'hksdms': 'username2=admin&truename2=%e8%91%9b&id=9864&wxusername2=&zb=false&qx=111-11111111111-11111111111111-0-1111-11111111111111-111111111-1111111111-111111111111-1111-0-0-0-0-0-0-0-0-0-0&login=1&actname=%e7%ae%a1%e7%90%86%e5%91%98&act=%e7%ae%a1%e7%90%86%e5%91%98&username=admin&truename=%e8%91%9b&userid=11955&valid=True&wxusername=&uniqueKey=8472d715-0f01-4b27-aa1c-90471f6cafa3&timeunitprice=0.00&allowquickout=True&telqx=1&tel=&StoreName=%e6%9c%ac%e4%bf%a1%e6%b1%bd%e8%bd%a6%e6%8a%a4%e7%90%86&attestationTel=13952699256&StoreName2=%e6%9c%ac%e4%bf%a1%e6%b1%bd%e8%bd%a6%e6%8a%a4%e7%90%86&vipid=SAAS9864&zonecode=1004&zone=%e6%b1%9f%e8%8b%8f&CustomerID=176575&IsInitialized=1&ScrmModuleValidTime=&isScrmModule=False&isBasicModule=True&isTechnologyModule=True&isPartsManageModule=True&isBusinessImprovementModule=False',\n", + " 'SERVERID': '000e421eb0ab0efb9790874bd5c8f758|1777108310|1777102207',\n", + " 'Hm_lpvt_ab3baaa579f771d051a6b0baad5a8cfe': '1777108313',\n", + "}\n", + "\n", + "headers = {\n", + " 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',\n", + " 'Accept-Language': 'zh-CN,zh;q=0.9',\n", + " 'Cache-Control': 'max-age=0',\n", + " 'Connection': 'keep-alive',\n", + " 'Content-Type': 'application/x-www-form-urlencoded',\n", + " 'Origin': 'http://www.kuaixiuge.com',\n", + " 'Referer': 'http://www.kuaixiuge.com/carinfo.aspx?clientWidth=1286',\n", + " 'Upgrade-Insecure-Requests': '1',\n", + " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36',\n", + " # 'Cookie': 'ASP.NET_SessionId=ciw1fuls0atkqaj4gkxhzngy; Hm_lvt_ab3baaa579f771d051a6b0baad5a8cfe=1777102209; HMACCOUNT=0838F6FCCBE848D9; iswatchme=0; setaddat=0; hksdms=username2=admin&truename2=%e8%91%9b&id=9864&wxusername2=&zb=false&qx=111-11111111111-11111111111111-0-1111-11111111111111-111111111-1111111111-111111111111-1111-0-0-0-0-0-0-0-0-0-0&login=1&actname=%e7%ae%a1%e7%90%86%e5%91%98&act=%e7%ae%a1%e7%90%86%e5%91%98&username=admin&truename=%e8%91%9b&userid=11955&valid=True&wxusername=&uniqueKey=8472d715-0f01-4b27-aa1c-90471f6cafa3&timeunitprice=0.00&allowquickout=True&telqx=1&tel=&StoreName=%e6%9c%ac%e4%bf%a1%e6%b1%bd%e8%bd%a6%e6%8a%a4%e7%90%86&attestationTel=13952699256&StoreName2=%e6%9c%ac%e4%bf%a1%e6%b1%bd%e8%bd%a6%e6%8a%a4%e7%90%86&vipid=SAAS9864&zonecode=1004&zone=%e6%b1%9f%e8%8b%8f&CustomerID=176575&IsInitialized=1&ScrmModuleValidTime=&isScrmModule=False&isBasicModule=True&isTechnologyModule=True&isPartsManageModule=True&isBusinessImprovementModule=False; SERVERID=000e421eb0ab0efb9790874bd5c8f758|1777108310|1777102207; Hm_lpvt_ab3baaa579f771d051a6b0baad5a8cfe=1777108313',\n", + "}\n", + "\n", + "params = {\n", + " 'clientWidth': '1286',\n", + "}\n", + "\n", + "data = {\n", + " '__EVENTTARGET': '',\n", + " '__EVENTARGUMENT': '',\n", + " '__VIEWSTATE': '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',\n", + " '__VIEWSTATEGENERATOR': 'B80C0CC7',\n", + " '__VIEWSTATEENCRYPTED': '',\n", + " '__EVENTVALIDATION': 'cm8Bauk0LSpuEYHh2V9yIfW6Uw0CTau/yGAIcEDyPsmTgRdIvOeqDPkO4nSAez40zB/VIH/KJKYYnAiKjXJdvTmGRbFIt/BH3/MqsLD7XvVfzgphQNW4uqSBfZDF9pXjzO2luJ28MFUhV3bjfC5EpFYNlNXZPTBEa4/7AOvsClO3zCFDswTQkgFhHx6AiW00OvJPobBywiwKAevGKkk6DutC/4m9Pux5qoDLffHF9OizyTQXU7X3oGuBEVXFhs3FzzrwRuo+XR4EOAzC38icqj/RhwE0MvmJq323ZwPo3F2fljJPmp8F1E6V5WJnDx8vZlxLIAHKotCmsBAEH6IVX4vGJwB9X1GiL/SzftqnzHd+R1Wok5cmMiE9AFOAMtbguU8yOtQPHDzD9vq7gaOPpvwe7X+Lo+CqlySErSE1xOqVfDMPXzROQ4zBHFV3yPRYEPMX8SMG6mL3ldYwFjYehpKAcBL5RQ2qcnmPlToQlcFyi4H//EGYQs1y5ux5o2KRj85rN6Ev9n3o5jTZ8c/gfKg3sh+WDQfyLesTt/7zipRJsUMWzRIhrsIG9DfWDsvGndrcfLFTljGRWURloGp5n92n25wgtRVIr8E9UBj5Z/z6pxY+lIl8JiyOguE/bZYyTZ0Vfk73/SSuxvrM/PFLv03m9QDr1RSjZighoIUctZEWTXWGK/oaXnxJtfBCX/WxXE9+C7LXWp0SQy220co3pf6B4ukL+kpoto3uRfESk++ATUSNyTFUZxQVC4gCWyuXjWWMhLw9opvUDYs6fkaKy2bVqFHICN1JT3rdKy1T+/qDmJpbXoYjj8YX/VBPfpW9P+YaVz2dRo3FSuR66jdZfBTSYOkIqC/3Ixf9VcRrQ0C1svpEbfCnFy6cQyK+cf/niRphKDMK+f/gvstz7FNHbq0qB+8jvW2EHVXu2JCFQn+QWLa7qZdM6UlaBA0KP0XlNvCp5+R2wOqVv2yEudVUVbIRwAhoOzWx5F83QLoGPIVektsBAwXVYRRcqHI4qFotSp1WIK7zOb5Z5ltRN7KJo/fTpawX3uLKYyaWP+NXK9UtxiRBlyD4PHzGpYGRi/bRf34JO5/RUyxaK67i+a3FLWFGWAJ7UHfzBpwWN8jA0MHm+q0w8kl1Yn+Qi3dQHPKOPwTtqIQJzjcLNpwGhEs6/YeRc2em1T3dsum0dVJhaVnS53XnXsnr8T/nejKs46EhxbdnzrBoeYCyRM+N8B5pUnv7AQjFQvwEHA07uQ9tXBS8R5/NQOD3PMWBu4pZ+9qgtOWMLytxLBnRFMRJadLUA+ti44f3ZeRFVXVErW4drukDNaStviFs7S6i96scxEiukXOS2P1Ts43bPCiCBsm8Q4cXZ6sgdox6kO0BT3AXiFpYqRhh7imB5nKQjX1yradmSHQ+ppW8eHpI4T7RUbXxEQnvpBMJAeGcvmylmSMkSmzhlnhjNAWgsZsUnRniru7VFaIymHOdfXBLPeLICGRxtAiPA+AadMYBz1/rglow3CjsXAptzE1OrRQK3wSXvWNd/q4ie8NFHXG982a1iP4+EJPQKAhETqqo2czGS+ibTfpG5jHToikYmhimCvNInBNK5xygrF74Angyq5638JVsLYbKs436WPXFdUw32NIRdDhWhGQpj4rwa8mlxdZVdQXEVPFCk+S/GZIwT/qpMhOCEeDdu9JUl/Jhpm3ixNkmLX1QXm5SKRKwyjio2hcnc8GDXFqdRA+a5A2OiJh86ZWMZ2ff1kddUZra84S4JYT93xnOA3yl2swVBXD66bgTuDj1E7lnqzoqvoqzhEHRwIAJb7n4q0UHswnHTEPHq5Wm6sEr0nfAonVQsT+Gnjj5Ujc3MVJ2nkZSeoiO9mkGlqjdL27goFU+8HOPePRC5GKkBZ4rZt2oWQxSxnsGUyh6/ufViDsa2JAWqqy9LnlQ0SjNFHCnJ7jZfk5ICxjVyQ==',\n", + " 'TextTime1': '2015-01-01',\n", + " 'TextTime2': '2026-04-25',\n", + " 'TextCname': '',\n", + " 'txtVin': '',\n", + " 'Txtcartype': '',\n", + " 'txtEngineno': '',\n", + " 'Button3': '搜索',\n", + " 'AspNetPager1_input': '4',\n", + " 'HiddenCountyear': '',\n", + " 'HiddenCount120': '',\n", + " 'HiddenCount240': '',\n", + " 'HiddenTtime': '',\n", + " 'HiddenOpenId': '',\n", + " 'HiddenBdtime': '',\n", + " 'HiddenVipId': '',\n", + " 'HiddenLasttime': '',\n", + " 'HiddenHfstate': '',\n", + " 'HiddenLastgch': '',\n", + " 'HiddenJyId': '',\n", + " 'HiddenHkscode': '',\n", + " 'HiddenBrand': '',\n", + " 'HiddenBrandname': '',\n", + " 'HiddenChassisnumber': '',\n", + " 'HiddenEngineDesc': '',\n", + " 'HiddenEngineStyle': '',\n", + " 'HiddenFamilyname': '',\n", + " 'HiddenGearbox': '',\n", + " 'HiddenGearboxName': '',\n", + " 'HiddenLyid': '',\n", + " 'HiddenProductyear': '',\n", + " 'HiddenVehiclename': '',\n", + " 'HiddenVehiclesale': '',\n", + " 'HiddenVin': '',\n", + " 'HiddenYearpattern': '',\n", + " 'HiddenDrivetype': '',\n", + " 'HiddenModelbrandlogourl': '',\n", + " 'HiddenModelbrandmfr': '',\n", + " 'HiddenModelid': '',\n", + " 'HiddenFueltype': '',\n", + " 'HiddenKilowattpower': '',\n", + " 'HiddenListedyear': '',\n", + " 'HiddenListedmonth': '',\n", + " 'HiddenStopyear': '',\n", + " 'HiddenBodynumdoors': '',\n", + " 'HiddenTransmissiondescription': '',\n", + " 'HiddenMakename': '',\n", + " 'HiddenModelbrandid': '',\n", + " 'HiddenMakeid': '',\n", + " 'HiddenIschoosevehicletype': '',\n", + "}\n", + "\n", + "response = requests.post(\n", + " 'http://www.kuaixiuge.com/carinfo.aspx',\n", + " params=params,\n", + " cookies=cookies,\n", + " headers=headers,\n", + " data=data,\n", + " verify=False,\n", + ")\n", + "response.json()" ], "id": "d15b414ce5174b18", - "outputs": [], - "execution_count": 5 + "outputs": [ + { + "ename": "JSONDecodeError", + "evalue": "Expecting value: line 2 column 1 (char 2)", + "output_type": "error", + "traceback": [ + "\u001B[31m---------------------------------------------------------------------------\u001B[39m", + "\u001B[31mJSONDecodeError\u001B[39m Traceback (most recent call last)", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\requests\\models.py:976\u001B[39m, in \u001B[36mResponse.json\u001B[39m\u001B[34m(self, **kwargs)\u001B[39m\n\u001B[32m 975\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m--> \u001B[39m\u001B[32m976\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43mcomplexjson\u001B[49m\u001B[43m.\u001B[49m\u001B[43mloads\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43mtext\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43m*\u001B[49m\u001B[43mkwargs\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 977\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m JSONDecodeError \u001B[38;5;28;01mas\u001B[39;00m e:\n\u001B[32m 978\u001B[39m \u001B[38;5;66;03m# Catch JSON-related errors and raise as requests.JSONDecodeError\u001B[39;00m\n\u001B[32m 979\u001B[39m \u001B[38;5;66;03m# This aliases json.JSONDecodeError and simplejson.JSONDecodeError\u001B[39;00m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\json\\__init__.py:352\u001B[39m, in \u001B[36mloads\u001B[39m\u001B[34m(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001B[39m\n\u001B[32m 349\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m (\u001B[38;5;28mcls\u001B[39m \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m \u001B[38;5;129;01mand\u001B[39;00m object_hook \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m \u001B[38;5;129;01mand\u001B[39;00m\n\u001B[32m 350\u001B[39m parse_int \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m \u001B[38;5;129;01mand\u001B[39;00m parse_float \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m \u001B[38;5;129;01mand\u001B[39;00m\n\u001B[32m 351\u001B[39m parse_constant \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m \u001B[38;5;129;01mand\u001B[39;00m object_pairs_hook \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m \u001B[38;5;129;01mand\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m kw):\n\u001B[32m--> \u001B[39m\u001B[32m352\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43m_default_decoder\u001B[49m\u001B[43m.\u001B[49m\u001B[43mdecode\u001B[49m\u001B[43m(\u001B[49m\u001B[43ms\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 353\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mcls\u001B[39m \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\json\\decoder.py:345\u001B[39m, in \u001B[36mJSONDecoder.decode\u001B[39m\u001B[34m(self, s, _w)\u001B[39m\n\u001B[32m 341\u001B[39m \u001B[38;5;250m\u001B[39m\u001B[33;03m\"\"\"Return the Python representation of ``s`` (a ``str`` instance\u001B[39;00m\n\u001B[32m 342\u001B[39m \u001B[33;03mcontaining a JSON document).\u001B[39;00m\n\u001B[32m 343\u001B[39m \n\u001B[32m 344\u001B[39m \u001B[33;03m\"\"\"\u001B[39;00m\n\u001B[32m--> \u001B[39m\u001B[32m345\u001B[39m obj, end = \u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43mraw_decode\u001B[49m\u001B[43m(\u001B[49m\u001B[43ms\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43midx\u001B[49m\u001B[43m=\u001B[49m\u001B[43m_w\u001B[49m\u001B[43m(\u001B[49m\u001B[43ms\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[32;43m0\u001B[39;49m\u001B[43m)\u001B[49m\u001B[43m.\u001B[49m\u001B[43mend\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 346\u001B[39m end = _w(s, end).end()\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\json\\decoder.py:363\u001B[39m, in \u001B[36mJSONDecoder.raw_decode\u001B[39m\u001B[34m(self, s, idx)\u001B[39m\n\u001B[32m 362\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mStopIteration\u001B[39;00m \u001B[38;5;28;01mas\u001B[39;00m err:\n\u001B[32m--> \u001B[39m\u001B[32m363\u001B[39m \u001B[38;5;28;01mraise\u001B[39;00m JSONDecodeError(\u001B[33m\"\u001B[39m\u001B[33mExpecting value\u001B[39m\u001B[33m\"\u001B[39m, s, err.value) \u001B[38;5;28;01mfrom\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[38;5;28;01mNone\u001B[39;00m\n\u001B[32m 364\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m obj, end\n", + "\u001B[31mJSONDecodeError\u001B[39m: Expecting value: line 2 column 1 (char 2)", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001B[31mJSONDecodeError\u001B[39m Traceback (most recent call last)", + "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[2]\u001B[39m\u001B[32m, line 97\u001B[39m\n\u001B[32m 31\u001B[39m data = {\n\u001B[32m 32\u001B[39m \u001B[33m'\u001B[39m\u001B[33m__EVENTTARGET\u001B[39m\u001B[33m'\u001B[39m: \u001B[33m'\u001B[39m\u001B[33m'\u001B[39m,\n\u001B[32m 33\u001B[39m \u001B[33m'\u001B[39m\u001B[33m__EVENTARGUMENT\u001B[39m\u001B[33m'\u001B[39m: \u001B[33m'\u001B[39m\u001B[33m'\u001B[39m,\n\u001B[32m (...)\u001B[39m\u001B[32m 86\u001B[39m \u001B[33m'\u001B[39m\u001B[33mHiddenIschoosevehicletype\u001B[39m\u001B[33m'\u001B[39m: \u001B[33m'\u001B[39m\u001B[33m'\u001B[39m,\n\u001B[32m 87\u001B[39m }\n\u001B[32m 89\u001B[39m response = requests.post(\n\u001B[32m 90\u001B[39m \u001B[33m'\u001B[39m\u001B[33mhttp://www.kuaixiuge.com/carinfo.aspx\u001B[39m\u001B[33m'\u001B[39m,\n\u001B[32m 91\u001B[39m params=params,\n\u001B[32m (...)\u001B[39m\u001B[32m 95\u001B[39m verify=\u001B[38;5;28;01mFalse\u001B[39;00m,\n\u001B[32m 96\u001B[39m )\n\u001B[32m---> \u001B[39m\u001B[32m97\u001B[39m \u001B[43mresponse\u001B[49m\u001B[43m.\u001B[49m\u001B[43mjson\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\site-packages\\requests\\models.py:980\u001B[39m, in \u001B[36mResponse.json\u001B[39m\u001B[34m(self, **kwargs)\u001B[39m\n\u001B[32m 976\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m complexjson.loads(\u001B[38;5;28mself\u001B[39m.text, **kwargs)\n\u001B[32m 977\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m JSONDecodeError \u001B[38;5;28;01mas\u001B[39;00m e:\n\u001B[32m 978\u001B[39m \u001B[38;5;66;03m# Catch JSON-related errors and raise as requests.JSONDecodeError\u001B[39;00m\n\u001B[32m 979\u001B[39m \u001B[38;5;66;03m# This aliases json.JSONDecodeError and simplejson.JSONDecodeError\u001B[39;00m\n\u001B[32m--> \u001B[39m\u001B[32m980\u001B[39m \u001B[38;5;28;01mraise\u001B[39;00m RequestsJSONDecodeError(e.msg, e.doc, e.pos)\n", + "\u001B[31mJSONDecodeError\u001B[39m: Expecting value: line 2 column 1 (char 2)" + ] + } + ], + "execution_count": 2 } ], "metadata": { diff --git a/张阳脚本/竞品系统数据导出/米其林驰加系统导出.ipynb b/张阳脚本/竞品系统数据导出/米其林驰加系统导出.ipynb index fc5915c..0723bd6 100644 --- a/张阳脚本/竞品系统数据导出/米其林驰加系统导出.ipynb +++ b/张阳脚本/竞品系统数据导出/米其林驰加系统导出.ipynb @@ -14,8 +14,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2026-03-24T03:12:19.747274800Z", - "start_time": "2026-03-24T02:42:20.660416400Z" + "end_time": "2026-04-23T08:20:44.296733100Z", + "start_time": "2026-04-23T08:16:24.431928500Z" } }, "source": [ @@ -26,17 +26,16 @@ "\n", "# Cookie 和 Headers 配置\n", "cookies = {\n", - " 'acw_tc': '76b20f7917743149845914058ebc47559507cd60c8642e0d54dbe45b6da222',\n", " 'Hm_lvt_684c22b31d0037eca5a691cde16370ad': '1773130169,1774314982',\n", - " 'Hm_lpvt_684c22b31d0037eca5a691cde16370ad': '1774314982',\n", - " 'HMACCOUNT': 'A6A0585E8C70051D',\n", - " 'e_token': 'f44423067c184689a19eb9dc564bf33e',\n", + " 'acw_tc': '76b20ff917769316546828414e03f43fa61f25e670b6f93f0480d1876ff447',\n", + " 'e_token': '3734b115f75f41ba8534f6780317e904',\n", " 'weixin_token': 'Y',\n", - " 'e_c': 'NTQ0MzQ1MDE0MTA3ODA1Mg==',\n", - " 'e_i_o_c_n': 'JTIyJUU1JTlCJTlCJUU0JUJDJTlBJUU1JUI4JTgyJUU4JThEJUEzJUU5JUFBJThGJUU2JUIxJUJEJUU4JUJEJUE2JUU3JUJCJUI0JUU0JUJGJUFFJUU0JUI4JUFEJUU1JUJGJTgzJTVCKzIwMDM5MDYrJTVEJTIy',\n", - " 'e_i_p_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU1JTlCJTlCJUU0JUJDJTlBJUU1JUI4JTgyJUU2JUEzJTk1JUU2JUE2JTg4JUU1JTlCJUFEJUU1JUJBJTk3JUU1JUJBJTk3JUU0JUI4JUJCJTVCKzIwMjk5MDkrJTVEJTIy',\n", + " 'e_c': 'MjEwNjQxMDIzMTY2ODczNjc0',\n", + " 'e_i_o_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU2JUIxJTlGJUU1JThDJTk3JUU1JThDJUJBJUU2JTlGJUIzJUU1JUIyJUI4JUU4JUI3JUFGJUU1JUJBJTk3JTVCKzIwMDU2MzQrJTVEJTIy',\n", + " 'e_i_p_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU2JUIxJTlGJUU1JThDJTk3JUU1JThDJUJBJUU2JTlGJUIzJUU1JUIyJUI4JUU4JUI3JUFGJUU1JUJBJTk3JUU1JUJBJTk3JUU5JTk1JUJGJTVCKzIwMjg3NTcrJTVEJTIy',\n", "}\n", "\n", + "\n", "headers = {\n", " 'Accept': 'application/json, text/plain, */*',\n", " 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',\n", @@ -56,7 +55,7 @@ "\n", "\n", "all_data = []\n", - "for i in tqdm(range(1, 2019)):\n", + "for i in tqdm(range(1, 372)):\n", " json_data = {\n", " 'pageStart': i,\n", " 'pageNums': 10,\n", @@ -81,11 +80,11 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 2018/2018 [29:27<00:00, 1.14it/s]\n" + "100%|██████████| 371/371 [04:12<00:00, 1.47it/s]\n" ] } ], - "execution_count": 2 + "execution_count": 1 }, { "cell_type": "markdown", @@ -100,8 +99,8 @@ "id": "51f8f4b21505280a", "metadata": { "ExecuteTime": { - "end_time": "2026-03-24T07:37:35.090160900Z", - "start_time": "2026-03-24T05:31:09.783019900Z" + "end_time": "2026-04-23T08:36:56.349271400Z", + "start_time": "2026-04-23T08:20:44.300734900Z" } }, "source": [ @@ -113,15 +112,13 @@ "# ================= 配置区域 =================\n", "# Cookie 和 Headers 配置\n", "cookies = {\n", - " 'acw_tc': '76b20f7917743149845914058ebc47559507cd60c8642e0d54dbe45b6da222',\n", " 'Hm_lvt_684c22b31d0037eca5a691cde16370ad': '1773130169,1774314982',\n", - " 'Hm_lpvt_684c22b31d0037eca5a691cde16370ad': '1774314982',\n", - " 'HMACCOUNT': 'A6A0585E8C70051D',\n", - " 'e_token': 'f44423067c184689a19eb9dc564bf33e',\n", + " 'acw_tc': '76b20ff917769316546828414e03f43fa61f25e670b6f93f0480d1876ff447',\n", + " 'e_token': '3734b115f75f41ba8534f6780317e904',\n", " 'weixin_token': 'Y',\n", - " 'e_c': 'NTQ0MzQ1MDE0MTA3ODA1Mg==',\n", - " 'e_i_o_c_n': 'JTIyJUU1JTlCJTlCJUU0JUJDJTlBJUU1JUI4JTgyJUU4JThEJUEzJUU5JUFBJThGJUU2JUIxJUJEJUU4JUJEJUE2JUU3JUJCJUI0JUU0JUJGJUFFJUU0JUI4JUFEJUU1JUJGJTgzJTVCKzIwMDM5MDYrJTVEJTIy',\n", - " 'e_i_p_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU1JTlCJTlCJUU0JUJDJTlBJUU1JUI4JTgyJUU2JUEzJTk1JUU2JUE2JTg4JUU1JTlCJUFEJUU1JUJBJTk3JUU1JUJBJTk3JUU0JUI4JUJCJTVCKzIwMjk5MDkrJTVEJTIy',\n", + " 'e_c': 'MjEwNjQxMDIzMTY2ODczNjc0',\n", + " 'e_i_o_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU2JUIxJTlGJUU1JThDJTk3JUU1JThDJUJBJUU2JTlGJUIzJUU1JUIyJUI4JUU4JUI3JUFGJUU1JUJBJTk3JTVCKzIwMDU2MzQrJTVEJTIy',\n", + " 'e_i_p_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU2JUIxJTlGJUU1JThDJTk3JUU1JThDJUJBJUU2JTlGJUIzJUU1JUIyJUI4JUU4JUI3JUFGJUU1JUJBJTk3JUU1JUJBJTk3JUU5JTk1JUJGJTVCKzIwMjg3NTcrJTVEJTIy',\n", "}\n", "\n", "headers = {\n", @@ -145,9 +142,9 @@ "\n", "# 业务参数配置\n", "TARGET_URL = 'https://teds.tyreplus.com.cn/api/aftersales/payment/queryPaymentSettlementListByCondition'\n", - "STORE_CODES = [\"330522\", \"343280\"] # 门店列表\n", + "STORE_CODES = [\"350085\"] # 门店列表\n", "PAGE_SIZE = 10\n", - "OUTPUT_PATH = r\"D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\13822673880结算单.xlsx\"\n", + "OUTPUT_PATH = r\"D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\15888527505结算单.xlsx\"\n", "MAX_RETRIES = 3\n", "\n", "# ================= 功能函数 =================\n", @@ -272,43 +269,15 @@ "output_type": "stream", "text": [ "正在获取第 1 页数据以计算总记录数...\n", - "✅ 获取成功。总记录数: 43728\n", - "📄 预计总页数: 4373 (每页 10 条)\n" + "✅ 获取成功。总记录数: 8310\n", + "📄 预计总页数: 831 (每页 10 条)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "正在爬取结算单: 33%|███▎ | 1441/4373 [38:12<1:29:11, 1.83s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "第1442页请求失败 (尝试 1/3): ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "正在爬取结算单: 51%|█████ | 2241/4373 [1:02:36<1:01:42, 1.74s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "第2242页请求失败 (尝试 1/3): ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "正在爬取结算单: 100%|██████████| 4373/4373 [2:05:27<00:00, 1.72s/it] \n" + "正在爬取结算单: 100%|██████████| 831/831 [16:01<00:00, 1.16s/it]\n" ] }, { @@ -316,12 +285,12 @@ "output_type": "stream", "text": [ "\n", - "🎉 数据已成功保存至: D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\13822673880结算单.xlsx\n", - "📊 共保存 43730 条记录 (期望: 43728)\n" + "🎉 数据已成功保存至: D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\15888527505结算单.xlsx\n", + "📊 共保存 8310 条记录 (期望: 8310)\n" ] } ], - "execution_count": 3 + "execution_count": 2 }, { "cell_type": "markdown", @@ -336,8 +305,8 @@ "id": "b7e0d7a4da6c9b03", "metadata": { "ExecuteTime": { - "end_time": "2026-03-25T10:15:04.125375900Z", - "start_time": "2026-03-24T12:31:05.631170600Z" + "end_time": "2026-04-23T12:43:38.281667400Z", + "start_time": "2026-04-23T08:36:56.424636200Z" } }, "source": [ @@ -347,15 +316,13 @@ "import time\n", "\n", "cookies = {\n", - " 'acw_tc': '76b20f7917743149845914058ebc47559507cd60c8642e0d54dbe45b6da222',\n", " 'Hm_lvt_684c22b31d0037eca5a691cde16370ad': '1773130169,1774314982',\n", - " 'Hm_lpvt_684c22b31d0037eca5a691cde16370ad': '1774314982',\n", - " 'HMACCOUNT': 'A6A0585E8C70051D',\n", - " 'e_token': 'f44423067c184689a19eb9dc564bf33e',\n", + " 'acw_tc': '76b20ff917769316546828414e03f43fa61f25e670b6f93f0480d1876ff447',\n", + " 'e_token': '3734b115f75f41ba8534f6780317e904',\n", " 'weixin_token': 'Y',\n", - " 'e_c': 'NTQ0MzQ1MDE0MTA3ODA1Mg==',\n", - " 'e_i_o_c_n': 'JTIyJUU1JTlCJTlCJUU0JUJDJTlBJUU1JUI4JTgyJUU4JThEJUEzJUU5JUFBJThGJUU2JUIxJUJEJUU4JUJEJUE2JUU3JUJCJUI0JUU0JUJGJUFFJUU0JUI4JUFEJUU1JUJGJTgzJTVCKzIwMDM5MDYrJTVEJTIy',\n", - " 'e_i_p_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU1JTlCJTlCJUU0JUJDJTlBJUU1JUI4JTgyJUU2JUEzJTk1JUU2JUE2JTg4JUU1JTlCJUFEJUU1JUJBJTk3JUU1JUJBJTk3JUU0JUI4JUJCJTVCKzIwMjk5MDkrJTVEJTIy',\n", + " 'e_c': 'MjEwNjQxMDIzMTY2ODczNjc0',\n", + " 'e_i_o_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU2JUIxJTlGJUU1JThDJTk3JUU1JThDJUJBJUU2JTlGJUIzJUU1JUIyJUI4JUU4JUI3JUFGJUU1JUJBJTk3JTVCKzIwMDU2MzQrJTVEJTIy',\n", + " 'e_i_p_c_n': 'JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU2JUIxJTlGJUU1JThDJTk3JUU1JThDJUJBJUU2JTlGJUIzJUU1JUIyJUI4JUU4JUI3JUFGJUU1JUJBJTk3JUU1JUJBJTk3JUU5JTk1JUJGJTVCKzIwMjg3NTcrJTVEJTIy',\n", "}\n", "\n", "headers = {\n", @@ -376,7 +343,7 @@ " # 'Cookie': 'acw_tc=76b20f7917743149845914058ebc47559507cd60c8642e0d54dbe45b6da222; Hm_lvt_684c22b31d0037eca5a691cde16370ad=1773130169,1774314982; Hm_lpvt_684c22b31d0037eca5a691cde16370ad=1774314982; HMACCOUNT=A6A0585E8C70051D; e_token=f44423067c184689a19eb9dc564bf33e; weixin_token=Y; e_c=NTQ0MzQ1MDE0MTA3ODA1Mg==; e_i_o_c_n=JTIyJUU1JTlCJTlCJUU0JUJDJTlBJUU1JUI4JTgyJUU4JThEJUEzJUU5JUFBJThGJUU2JUIxJUJEJUU4JUJEJUE2JUU3JUJCJUI0JUU0JUJGJUFFJUU0JUI4JUFEJUU1JUJGJTgzJTVCKzIwMDM5MDYrJTVEJTIy; e_i_p_c_n=JTIyJUU5JUE5JUIwJUU1JThBJUEwJUU2JUIxJUJEJUU4JUJEJUE2JUU2JTlDJThEJUU1JThBJUExJUU0JUI4JUFEJUU1JUJGJTgzJUU1JTlCJTlCJUU0JUJDJTlBJUU1JUI4JTgyJUU2JUEzJTk1JUU2JUE2JTg4JUU1JTlCJUFEJUU1JUJBJTk3JUU1JUJBJTk3JUU0JUI4JUJCJTVCKzIwMjk5MDkrJTVEJTIy',\n", "}\n", "\n", - "df = pd.read_excel(fr\"D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\13822673880结算单.xlsx\", sheet_name='Sheet1')\n", + "df = pd.read_excel(fr\"D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\15888527505结算单.xlsx\", sheet_name='Sheet1')\n", "\n", "all_data_list = []\n", "all_service_data = []\n", @@ -464,12 +431,12 @@ { "data": { "text/plain": [ - " 0%| | 0/43730 [00:00, 'Connection to teds.tyreplus.com.cn timed out. (connect timeout=10)')) (paymentNo: SI2511011255731172)\n", + "请求异常: HTTPSConnectionPool(host='teds.tyreplus.com.cn', port=443): Max retries exceeded with url: /api/v2/aftersales/payment/queryPaymentSettlementDetail (Caused by ConnectTimeoutError(, 'Connection to teds.tyreplus.com.cn timed out. (connect timeout=10)')) (paymentNo: SI2504160329323760)\n" ] } ], - "execution_count": 5 + "execution_count": 3 }, { "metadata": {}, diff --git a/张阳脚本/竞品系统数据导出/美孚(孚创)导出.ipynb b/张阳脚本/竞品系统数据导出/美孚(孚创)导出.ipynb index 2d903c5..42e63b9 100644 --- a/张阳脚本/竞品系统数据导出/美孚(孚创)导出.ipynb +++ b/张阳脚本/竞品系统数据导出/美孚(孚创)导出.ipynb @@ -12,8 +12,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2026-01-06T01:50:04.573176600Z", - "start_time": "2026-01-06T01:41:33.836804400Z" + "end_time": "2026-05-12T06:14:49.072001900Z", + "start_time": "2026-05-12T06:08:51.739974700Z" } }, "source": [ @@ -22,13 +22,13 @@ "from tqdm import tqdm\n", "\n", "cookies = {\n", - " 'MD_accessToken': '6864ddf5-fa96-466f-b228-f2621516a2bf',\n", + " 'MD_accessToken': '2701b3d9-c959-4bfc-ad17-0a9b3f237f75',\n", "}\n", "\n", "headers = {\n", " 'Accept': 'application/json, text/plain, */*',\n", " 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',\n", - " 'Authorization': 'Bearer6864ddf5-fa96-466f-b228-f2621516a2bf',\n", + " 'Authorization': 'Bearer2701b3d9-c959-4bfc-ad17-0a9b3f237f75',\n", " 'Connection': 'keep-alive',\n", " 'Content-Type': 'application/json;charset=UTF-8',\n", " 'Origin': 'https://store.fuchuang.com',\n", @@ -36,20 +36,18 @@ " 'Sec-Fetch-Dest': 'empty',\n", " 'Sec-Fetch-Mode': 'cors',\n", " 'Sec-Fetch-Site': 'same-origin',\n", - " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0',\n", - " 'X-FC-TRACE-ID': '0924ec43dfae4ba48176700dee39833b',\n", + " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0',\n", + " 'X-FC-TRACE-ID': '3b644c0201c34c6cbb4333f57367e40b',\n", " 'loginPlatform': 'store_pc',\n", " 'platform': 'store_pc',\n", " 'searchInfo': '%E5%AE%A2%E6%88%B7%E8%BD%A6%E8%BE%86,%E5%AE%A2%E6%88%B7%E7%AE%A1%E7%90%86,%E6%9F%A5%E8%AF%A2',\n", - " 'sec-ch-ua': '\"Microsoft Edge\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"',\n", + " 'sec-ch-ua': '\"Microsoft Edge\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"',\n", " 'sec-ch-ua-mobile': '?0',\n", " 'sec-ch-ua-platform': '\"Windows\"',\n", - " 'user-info-wms': '{\"token\":\"Bearer6864ddf5-fa96-466f-b228-f2621516a2bf\",\"platform\":\"store_pc\"}',\n", + " 'user-info-wms': '{\"token\":\"Bearer2701b3d9-c959-4bfc-ad17-0a9b3f237f75\",\"platform\":\"store_pc\"}',\n", " 'x-fc-client': 'web',\n", - " # 'Cookie': 'MD_accessToken=6864ddf5-fa96-466f-b228-f2621516a2bf',\n", + " # 'Cookie': 'MD_accessToken=2701b3d9-c959-4bfc-ad17-0a9b3f237f75',\n", "}\n", - "\n", - "\n", "json_data = {\n", " 'phone': '',\n", " 'name': '',\n", @@ -63,7 +61,7 @@ "}\n", "\n", "all_data = []\n", - "for i in tqdm(range(1, 758)):\n", + "for i in tqdm(range(1, 486)):\n", " json_data['pageNum'] = i\n", " response = requests.post(\n", " 'https://store.fuchuang.com/api/store-crm/crm/customer/query',\n", @@ -88,13 +86,13 @@ "text": [ "<>:63: SyntaxWarning: invalid escape sequence '\\I'\n", "<>:63: SyntaxWarning: invalid escape sequence '\\I'\n", - "C:\\Users\\hp_z66\\AppData\\Local\\Temp\\ipykernel_31392\\364108658.py:63: SyntaxWarning: invalid escape sequence '\\I'\n", + "C:\\Users\\hp_z66\\AppData\\Local\\Temp\\ipykernel_14680\\526967017.py:63: SyntaxWarning: invalid escape sequence '\\I'\n", " df.to_excel('D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\美孚客户信息.xlsx', index=False)\n", - "100%|██████████| 757/757 [08:25<00:00, 1.50it/s]\n" + "100%|██████████| 485/485 [05:54<00:00, 1.37it/s]\n" ] } ], - "execution_count": 1 + "execution_count": 13 }, { "metadata": {}, @@ -105,8 +103,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2026-01-06T06:59:53.687706100Z", - "start_time": "2026-01-06T05:40:36.873045Z" + "end_time": "2026-05-12T07:23:39.540370100Z", + "start_time": "2026-05-12T06:31:05.220043700Z" } }, "cell_type": "code", @@ -116,34 +114,36 @@ "from tqdm.notebook import tqdm\n", "import pandas as pd\n", "cookies = {\n", - " 'MD_accessToken': '6864ddf5-fa96-466f-b228-f2621516a2bf',\n", + " 'acw_tc': '0a0572c017785673680518302e62de2d436dcebb15d1ca5dd604f3df26743b',\n", + " 'MD_accessToken': 'fc95ef0c-1929-4fa3-95b9-2fdfd56af0eb',\n", "}\n", "\n", "headers = {\n", " 'Accept': 'application/json, text/plain, */*',\n", - " 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',\n", - " 'Authorization': 'Bearer6864ddf5-fa96-466f-b228-f2621516a2bf',\n", + " 'Accept-Language': 'zh-CN,zh;q=0.9',\n", + " 'Authorization': 'Bearerfc95ef0c-1929-4fa3-95b9-2fdfd56af0eb',\n", " 'Connection': 'keep-alive',\n", " 'Content-Type': 'application/json;charset=UTF-8',\n", " 'Origin': 'https://store.fuchuang.com',\n", - " 'Referer': 'https://store.fuchuang.com/store/',\n", + " 'Referer': 'https://store.fuchuang.com/store/index.html',\n", " 'Sec-Fetch-Dest': 'empty',\n", " 'Sec-Fetch-Mode': 'cors',\n", " 'Sec-Fetch-Site': 'same-origin',\n", - " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0',\n", - " 'X-FC-TRACE-ID': 'a26acd1fe3c5460e890e80c8ad88a6da',\n", + " 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0',\n", + " 'X-FC-TRACE-ID': '29cb0c9ab8904d85b54f1b1bb3ae33b5',\n", " 'loginPlatform': 'store_pc',\n", " 'platform': 'store_pc',\n", - " 'sec-ch-ua': '\"Microsoft Edge\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"',\n", + " 'sec-ch-ua': '\"Microsoft Edge\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"',\n", " 'sec-ch-ua-mobile': '?0',\n", " 'sec-ch-ua-platform': '\"Windows\"',\n", - " 'user-info-wms': '{\"token\":\"Bearer6864ddf5-fa96-466f-b228-f2621516a2bf\",\"platform\":\"store_pc\"}',\n", + " 'user-info-wms': '{\"token\":\"Bearerfc95ef0c-1929-4fa3-95b9-2fdfd56af0eb\",\"platform\":\"store_pc\"}',\n", " 'x-fc-client': 'web',\n", - " # 'Cookie': 'MD_accessToken=6864ddf5-fa96-466f-b228-f2621516a2bf',\n", + " # 'Cookie': 'acw_tc=0a0572c017785673680518302e62de2d436dcebb15d1ca5dd604f3df26743b; MD_accessToken=fc95ef0c-1929-4fa3-95b9-2fdfd56af0eb',\n", "}\n", - "df1 = pd.read_excel('D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\美孚客户信息.xlsx', sheet_name =0)\n", + "\n", + "df1 = pd.read_excel(r'D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\美孚客户信息.xlsx', sheet_name =0)\n", "detail_list = []\n", - "start_index = 2658\n", + "start_index = 0\n", "for index, row in tqdm(df1.iterrows(), total=len(df1)):\n", " params = {\n", " 'id': row[\"id\"],\n", @@ -158,6 +158,7 @@ " headers=headers,\n", " json=json_data,\n", " )\n", + "\n", " detail_list.append(response.json()['data'])\n", " except Exception as e:\n", " print(e)\n", @@ -173,25 +174,21 @@ "name": "stderr", "output_type": "stream", "text": [ - "<>:31: SyntaxWarning: invalid escape sequence '\\I'\n", - "<>:55: SyntaxWarning: invalid escape sequence '\\I'\n", - "<>:31: SyntaxWarning: invalid escape sequence '\\I'\n", - "<>:55: SyntaxWarning: invalid escape sequence '\\I'\n", - "C:\\Users\\hp_z66\\AppData\\Local\\Temp\\ipykernel_31392\\1770658545.py:31: SyntaxWarning: invalid escape sequence '\\I'\n", - " df1 = pd.read_excel('D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\美孚客户信息.xlsx', sheet_name =0)\n", - "C:\\Users\\hp_z66\\AppData\\Local\\Temp\\ipykernel_31392\\1770658545.py:55: SyntaxWarning: invalid escape sequence '\\I'\n", + "<>:58: SyntaxWarning: invalid escape sequence '\\I'\n", + "<>:58: SyntaxWarning: invalid escape sequence '\\I'\n", + "C:\\Users\\hp_z66\\AppData\\Local\\Temp\\ipykernel_14680\\3627701310.py:58: SyntaxWarning: invalid escape sequence '\\I'\n", " df2.to_excel('D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\美孚客户信息明细1.xlsx', index=False)\n" ] }, { "data": { "text/plain": [ - " 0%| | 0/7567 [00:00:2: SyntaxWarning: invalid escape sequence '\\I'\n", - "<>:2: SyntaxWarning: invalid escape sequence '\\I'\n", - "C:\\Users\\hp_z66\\AppData\\Local\\Temp\\ipykernel_31392\\2944444433.py:2: SyntaxWarning: invalid escape sequence '\\I'\n", - " df2.to_excel('D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\美孚客户信息明细2.xlsx', index=False)\n" + "{'code': 10000, 'message': '操作成功', 'data': {'labelConsumptionType': 2, 'labelActivityType': 1, 'labelEquityCard': 0, 'labelScCard': 0, 'labelTcCard': 0, 'fcCustomerLabels': [{'labelId': 2, 'labelType': 1, 'labelTypeName': '客户类型标签', 'labelValue': 2, 'labelName': '新客'}, {'labelId': 4, 'labelType': 2, 'labelTypeName': '客户活跃度标签', 'labelValue': 1, 'labelName': '活跃'}], 'storeCustomerLabels': [], 'storeCustomerLabelNames': [], 'id': '177849100876200134310619337', 'name': '长安', 'phoneNumber': '15566441231', 'gender': 1, 'birthday': None, 'customerType': 'person', 'customerSource': 'ZRJD', 'sourceChannel': '', 'driverLicenseNumber': '', 'driverLicenseType': 'C1', 'provinceId': None, 'cityId': None, 'countyDistrictId': None, 'provinceName': '', 'cityName': '', 'countyDistrictName': '', 'driverLicenseExpiryDate': None, 'driverLicensePhoto': '', 'address': '', 'customerRemark': '', 'isMember': 0, 'mallUser': 0, 'commonUserId': 4919522, 'updateTime': '2026-05-11 17:18:18', 'creditCycle': 30, 'creditLine': 0.0, 'vehicleResps': [{'id': '177849100876900134310619338', 'customerId': '177849100876200134310619337', 'carNum': '赣E116Q0', 'drivenDistance': 0, 'licensePlateFlag': '赣', 'licensePlateNumber': 'E116Q0', 'vehicleModel': '长安 长安汽车 CS75 2014款 2.0L 手动 2015年产', 'color': '', 'vin': '', 'vehicleType': 'B', 'engine': '', 'lastMaintenanceDate': '2026-05-11 17:18:33', 'nextMaintenanceDate': None, 'nextMaintainMileage': None, 'insuranceCompany': '', 'effectiveDate': None, 'expiryDate': None, 'description': None, 'remark': '', 'carPhoto': 'https://image.fuchuang.com/prod/f29f067f_%E9%95%BF%E5%AE%8920230901112941.png', 'brand': '长安', 'brandType': '', 'carName': '', 'saleName': '长安 CS75 2.0L 手动', 'paiLiang': '', 'avgPrice': 12.58, 'tireSize': '', 'annualInspectionDate': None, 'commonVehicleId': 3690941, 'storeMallVehicleId': None, 'fid': 0, 'fidCode': '', 'year': '2015', 'gearboxCode': '1', 'gearboxType': '手动', 'levelName': 'CS75', 'seriesId': 216, 'seriesName': 'CS75', 'updateTime': '2026-05-11 17:18:18', 'vid': 95750, 'modelYear': 2014, 'powerVersion': '', 'energyVersion': '', 'saleModel': '', 'displacementType': '2.0L', 'brandId': 207, 'vendorName': '长安汽车', 'vendorId': 204, 'carInfo': '2014款 2.0L 手动 2015年产', 'yearText': '2015年产', 'isVip': None, 'insuranceVehicleId': None, 'energyType': 1, 'energyTypeName': '汽油', 'status': 1}], 'storeMallUser': 0}, 'detail': None, 'trace': None, 'success': True}\n" ] } ], - "execution_count": 7 + "execution_count": 19 } ], "metadata": { diff --git a/张阳脚本/简道云刷数据/宜搭附件迁移简道云.ipynb b/张阳脚本/简道云刷数据/宜搭附件迁移简道云.ipynb index 6d7d354..09d218a 100644 --- a/张阳脚本/简道云刷数据/宜搭附件迁移简道云.ipynb +++ b/张阳脚本/简道云刷数据/宜搭附件迁移简道云.ipynb @@ -10,120 +10,13 @@ }, { "cell_type": "code", - "execution_count": 1, "id": "479a84ce", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "🔍 正在扫描所有文件...\n", - "✅ 共找到 66 个实例,总计 90 个文件\n", - "📁 正在生成批次 1: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_1\n", - "[Batch 1] ✅ FINST-0CC662718BILO83CEX5TJ4OXZP2C3X1PCLRWLFGL.png\n", - "[Batch 1] ✅ FINST-0D866I81JANY5WG8A2DT15S63HZH20YFR68FMQJA.png\n", - "[Batch 1] ✅ FINST-0HD66Z81DFXYBP816VRKD6S2HA2H3RYCBYKFMR6.jpg\n", - "[Batch 1] ✅ FINST-3MF66MB1C62UYQ70B6VFWCC72LWD3WFATRQ8MJF1.jpg\n", - "[Batch 1] ✅ FINST-3RB66I91KLXKFLFLFENM3DP0BQER2D0BEAXVLS11.xlsx\n", - "[Batch 1] ✅ FINST-3SC66EA1POUU8OOK7YW2GDJEKD972XTSC1V9MCB1.png\n", - "[Batch 1] ✅ FINST-42766EA129TVP57F6HGFPAATXT4K2J17LS7BMPS2.png\n", - "[Batch 1] ✅ FINST-54A66HC1426KP5L87MXEA682I67O23YKVXUUL9U9.jpg\n", - "[Batch 1] ✅ FINST-54A66HC1BDILGOIO8D24RCKSUXOU2641DLRWLFY5.png\n", - "[Batch 1] ✅ FINST-54A66HC1NBQSMDDUEDQU4CSW0OJI27EQ2TV6MHV.xlsx\n", - "[Batch 1] ✅ FINST-5B866X816C0WLA139FUCS6ISBUCK3KXV3UIBMX22.jpg\n", - "[Batch 1] ✅ FINST-5W966981KWJJ06WS8VXCYC10RV7U31E6282ULAHS.png\n", - "[Batch 1] ✅ FINST-5X866U8169BBPU9BFDL61ASKGDPW3RJM5LIILSNA.png\n", - "[Batch 1] ✅ FINST-65D66X71VHAPFNPZ9OFURCIREZAS28FI7P12MJS.png\n", - "[Batch 1] ✅ FINST-69E66NA11AKXLE2R7DOP3AOZM8SD3R64OXNDM7G.png\n", - "[Batch 1] ✅ FINST-69E66NA1ATDYE53ADVQ8DCX122G53OQC1ETEM62.png\n", - "[Batch 1] ✅ FINST-6B966W917QETCTT5ARDDR8J2IOJD26ZQYVT7M3I.png\n", - "[Batch 1] ✅ FINST-8AD662D1X8VOJJUGCZ7NFCI1XLDM3EUX97H1MKJ1.png\n", - "[Batch 1] ✅ FINST-8EC66FA15UNNQPWWBOPENDDJ6EQM2MDGX4SZLOP4.jpg\n", - "[Batch 1] ✅ FINST-8O866AA142HTFEQ18XDVG5SQ0Y7Z14EVF6Y7MBHB.jpg\n", - "[Batch 1] ✅ FINST-9FA66WC1LDJNFROD7HJUI4OJ6C2J22UP25SZLUQA.jpg\n", - "[Batch 1] ✅ FINST-AZC667816Z9TV9Z4DD1PDD4OLN5825J8S4O7MOJ1.png\n", - "[Batch 1] ✅ FINST-BL866S61XU8DOZG5BZ6E4DZ2UOIV3B6CEHALL3QI.jpg\n", - "[Batch 1] ✅ FINST-ETA66681ZAHDHL2OA0MQR6UB9W5N2MZM2DGLLU2.png\n", - "[Batch 1] ✅ FINST-FX7660A1N11VJB6IBDBRE8N012ZQ2HVJIWBAMYL2.jpg\n", - "[Batch 1] ✅ FINST-G7B66QC1U162UFRMHJFJ59Q5VZZD3VQ1MS4KM0F.png\n", - "[Batch 1] ✅ FINST-HI766JB1ORJFF6STEI8PR6E3YJTF2B87VNDOLSM5.xlsx\n", - "[Batch 1] ✅ FINST-HRD66W919462UFW0NG4PODHZZUW63074RZAKM1DK.png\n", - "[Batch 1] ✅ FINST-IO766F81JX9VU83Z6OR927WUWBUJ3FDQKEGAM0X.xlsx\n", - "[Batch 1] ✅ FINST-IQC66GC18W4YQ8GSCL23T582HU1H3960PVGEML8.png\n", - "[Batch 1] ✅ FINST-IRD66GC15CA2MFOFM8MHCBN7OSWA3PKSUZAKMKS.png\n", - "[Batch 1] ✅ FINST-IRD66PB1X8I2R8DLJKVF9667G4LC3TWHHZLKM0J.png\n", - "[Batch 1] ✅ FINST-IUF66391KP8W6U35CG7JL8UC2GK52JXZA6TBM6P.png\n", - "[Batch 1] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "[Batch 1] ✅ FINST-J3D66LA13NTHEZAICABNRCD3KVCY222Q7IORL7UD.jpg\n", - "[Batch 1] ✅ FINST-JB966E91FW8YJMLMD52WCCZCXO5V28E0JHMEMM.jpg\n", - "[Batch 1] ✅ FINST-JXA66PB1ONATQBEIBDMEZ45MLMVB3M0CO6O7MH01.png\n", - "[Batch 1] ✅ FINST-JZE66UC1Q8H2F0E3M38EX853TR242SGJFJKKMK8.xlsx\n", - "[Batch 1] ✅ FINST-K7E66Z91F5NYOC0UD20BO775JN8C3D763K6FM16.xlsx\n", - "[Batch 1] ✅ FINST-KW866QB13VPZ5OSE9CE0LAWVKEO23QA4XVOGM92.jpg\n", - "[Batch 1] ✅ FINST-L3D66981YN31J5O8MGQCCCPF6FE82J0EBZMIMQ61.xlsx\n", - "[Batch 1] ✅ FINST-LCC66CA1BTTCK1HQ9S8TP91UHORX3JHYWOQKLO65.pptx\n", - "[Batch 1] ✅ FINST-LLA66D71DDUN56UUBRVZVD2EO3TS291ZDU00M734.png\n", - "[Batch 1] ✅ FINST-NLD66NA171BT4QDDCKR6HBD8XSHG3UJ1FSP7MJ39.png\n", - "[Batch 1] ✅ FINST-OPA665A1KV9TAY9UA78YID6X4S4Y2HPA03N7MO3.png\n", - "[Batch 1] ✅ FINST-P6D66F71YYMY4D4PE6FL58E9BU8X3JUP0G6FM6R.xlsx\n", - "[Batch 1] ✅ FINST-PF866EA1IKDECQEC8I8IECI2W3YI38JSXOPMLP8.jpg\n", - "[Batch 1] ✅ FINST-PJE66J91RJNZ1RSPBUYJB5ZF2PTI2TGY7PLGMAN.jpg\n", - "[Batch 1] ✅ FINST-PQ5669911JFP4W356K5HS98S8MZC2MUHMO82MX5.png\n", - "[Batch 1] ✅ FINST-PRF66GB105ZWQSK7CUNWR97ZV6LG3050I9UCMAY.png\n", - "[Batch 1] ✅ FINST-QJG66FC1JCE085Q3N439VAMLKVFF3GUQFMOHMEF2.xlsx\n", - "[Batch 1] ✅ FINST-QJG66IB1GWQZN4GVAGZCW8NQ61VB3AK3KSRGMWY1.xlsx\n", - "[Batch 1] ✅ FINST-QKC666919BQY70PZ8G3T57AX7UNA29H3N0BFMSC.xlsx\n", - "[Batch 1] ✅ FINST-QW8665B1XE41XSIJK01GJCNZ5YNQ2CRLVXNIMZW.png\n", - "[Batch 1] ✅ FINST-RAC66GD197JYBI9Q9WU4B731F3O52QOQQ42FMFR5.jpg\n", - "[Batch 1] ✅ FINST-UAD66591M1KJAXF6CROAFDK9Y4PD3IFY2QZTLUR1.jpg\n", - "[Batch 1] ✅ FINST-UH9665D1TLYDLO5TDNPV0CEJTFGX2AMSWP4MLGP.png\n", - "[Batch 1] ✅ FINST-USC66V6144XYJV79FR19G4JRKPA52X6OX8LFMWU3.xlsx\n", - "[Batch 1] ✅ FINST-UZA66QC18I9WZM23F0GIC4UMA25B2C14SHUBM742.png\n", - "[Batch 1] ✅ FINST-WM6666B10OZIDIA9C6K6R8A6NXEU3UON1HETL2ZJ.jpg\n", - "[Batch 1] ✅ FINST-WSF66J812FUXCO5ZCWI70C2TW7TG2OMS0F2EMAP1.png\n", - "[Batch 1] ✅ FINST-WSF66J818UYXDCKS8IZ7K50QAGNH2K3MJG8EMJP1.xlsx\n", - "[Batch 1] ✅ FINST-WYG66T718EQ0Z4TMNO8P2CRTS6NE3EUF016IMSDA.pptx\n", - "[Batch 1] ✅ FINST-Z6966NB14IDEWL268Y71A8FOS0HD2ROSG3QMLGZ3.mp4\n", - "[Batch 1] ✅ FINST-ZH866O918DRFX8WWEBEDSBMRTNU93TRYXNNOLVY.jpg\n", - "[Batch 1] ✅ FINST-ZKD66Q71XPBRGBVI8Z5FGCIWR2KS2NCI9TZ4MQ5L.xlsx\n", - "📁 正在生成批次 2: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_2\n", - "[Batch 2] ✅ FINST-0D866I81JANY5WG8A2DT15S63HZH20YFR68FMQJA.png\n", - "[Batch 2] ✅ FINST-0HD66Z81DFXYBP816VRKD6S2HA2H3RYCBYKFMR6.jpg\n", - "[Batch 2] ✅ FINST-54A66HC1426KP5L87MXEA682I67O23YKVXUUL9U9.jpg\n", - "[Batch 2] ✅ FINST-65D66X71VHAPFNPZ9OFURCIREZAS28FI7P12MJS.jpg\n", - "[Batch 2] ✅ FINST-9FA66WC1LDJNFROD7HJUI4OJ6C2J22UP25SZLUQA.jpg\n", - "[Batch 2] ✅ FINST-BL866S61XU8DOZG5BZ6E4DZ2UOIV3B6CEHALL3QI.png\n", - "[Batch 2] ✅ FINST-ETA66681ZAHDHL2OA0MQR6UB9W5N2MZM2DGLLU2.xlsx\n", - "[Batch 2] ✅ FINST-HRD66W919462UFW0NG4PODHZZUW63074RZAKM1DK.png\n", - "[Batch 2] ✅ FINST-IQC66GC18W4YQ8GSCL23T582HU1H3960PVGEML8.png\n", - "[Batch 2] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "[Batch 2] ✅ FINST-J3D66LA13NTHEZAICABNRCD3KVCY222Q7IORL7UD.xlsx\n", - "[Batch 2] ✅ FINST-K7E66Z91F5NYOC0UD20BO775JN8C3D763K6FM16.xlsx\n", - "[Batch 2] ✅ FINST-KW866QB13VPZ5OSE9CE0LAWVKEO23QA4XVOGM92.jpg\n", - "[Batch 2] ✅ FINST-LLA66D71DDUN56UUBRVZVD2EO3TS291ZDU00M734.png\n", - "[Batch 2] ✅ FINST-NLD66NA171BT4QDDCKR6HBD8XSHG3UJ1FSP7MJ39.png\n", - "[Batch 2] ✅ FINST-PF866EA1IKDECQEC8I8IECI2W3YI38JSXOPMLP8.jpg\n", - "📁 正在生成批次 3: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_3\n", - "[Batch 3] ✅ FINST-65D66X71VHAPFNPZ9OFURCIREZAS28FI7P12MJS.png\n", - "[Batch 3] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "📁 正在生成批次 4: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_4\n", - "[Batch 4] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "📁 正在生成批次 5: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_5\n", - "[Batch 5] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "📁 正在生成批次 6: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_6\n", - "[Batch 6] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "📁 正在生成批次 7: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_7\n", - "[Batch 7] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "📁 正在生成批次 8: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_8\n", - "[Batch 8] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "📁 正在生成批次 9: C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\\输出_9\n", - "[Batch 9] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", - "\n", - "🎉 处理完成!共生成 9 个批次文件夹。\n" - ] + "metadata": { + "ExecuteTime": { + "end_time": "2026-04-18T03:34:19.039797100Z", + "start_time": "2026-04-18T03:34:18.737330Z" } - ], + }, "source": [ "import os\n", "import shutil\n", @@ -131,7 +24,7 @@ "import hashlib\n", "\n", "# 配置\n", - "root_path = r\"C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\FPO提交_20260207112107_resources_1\"\n", + "root_path = r\"C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\"\n", "\n", "# 存储:{finst_id: [file_path1, file_path2, ...]}\n", "instance_files = {}\n", @@ -207,7 +100,122 @@ " print(f\"[Batch {batch_index}] ❌ 复制失败: {e}\")\n", "\n", "print(f\"\\n🎉 处理完成!共生成 {max_rounds} 个批次文件夹。\")" - ] + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "🔍 正在扫描所有文件...\n", + "✅ 共找到 68 个实例,总计 93 个文件\n", + "📁 正在生成批次 1: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_1\n", + "[Batch 1] ✅ FINST-0CC662718BILO83CEX5TJ4OXZP2C3X1PCLRWLFGL.png\n", + "[Batch 1] ✅ FINST-0D866I81JANY5WG8A2DT15S63HZH20YFR68FMQJA.png\n", + "[Batch 1] ✅ FINST-0HD66Z81DFXYBP816VRKD6S2HA2H3RYCBYKFMR6.jpg\n", + "[Batch 1] ✅ FINST-3MF66MB1C62UYQ70B6VFWCC72LWD3WFATRQ8MJF1.jpg\n", + "[Batch 1] ✅ FINST-3RB66I91KLXKFLFLFENM3DP0BQER2D0BEAXVLS11.xlsx\n", + "[Batch 1] ✅ FINST-3SC66EA1POUU8OOK7YW2GDJEKD972XTSC1V9MCB1.png\n", + "[Batch 1] ✅ FINST-42766EA129TVP57F6HGFPAATXT4K2J17LS7BMPS2.png\n", + "[Batch 1] ✅ FINST-54A66HC1426KP5L87MXEA682I67O23YKVXUUL9U9.jpg\n", + "[Batch 1] ✅ FINST-54A66HC1BDILGOIO8D24RCKSUXOU2641DLRWLFY5.png\n", + "[Batch 1] ✅ FINST-54A66HC1NBQSMDDUEDQU4CSW0OJI27EQ2TV6MHV.xlsx\n", + "[Batch 1] ✅ FINST-5B866X816C0WLA139FUCS6ISBUCK3KXV3UIBMX22.jpg\n", + "[Batch 1] ✅ FINST-5W966981KWJJ06WS8VXCYC10RV7U31E6282ULAHS.png\n", + "[Batch 1] ✅ FINST-5X866U8169BBPU9BFDL61ASKGDPW3RJM5LIILSNA.png\n", + "[Batch 1] ✅ FINST-65D66X71VHAPFNPZ9OFURCIREZAS28FI7P12MJS.png\n", + "[Batch 1] ✅ FINST-69E66NA11AKXLE2R7DOP3AOZM8SD3R64OXNDM7G.png\n", + "[Batch 1] ✅ FINST-69E66NA1ATDYE53ADVQ8DCX122G53OQC1ETEM62.png\n", + "[Batch 1] ✅ FINST-6B966W917QETCTT5ARDDR8J2IOJD26ZQYVT7M3I.png\n", + "[Batch 1] ✅ FINST-8AD662D1X8VOJJUGCZ7NFCI1XLDM3EUX97H1MKJ1.png\n", + "[Batch 1] ✅ FINST-8EC66FA15UNNQPWWBOPENDDJ6EQM2MDGX4SZLOP4.jpg\n", + "[Batch 1] ✅ FINST-8O866AA142HTFEQ18XDVG5SQ0Y7Z14EVF6Y7MBHB.jpg\n", + "[Batch 1] ✅ FINST-9FA66WC1LDJNFROD7HJUI4OJ6C2J22UP25SZLUQA.jpg\n", + "[Batch 1] ✅ FINST-AZC667816Z9TV9Z4DD1PDD4OLN5825J8S4O7MOJ1.png\n", + "[Batch 1] ✅ FINST-BL866S61XU8DOZG5BZ6E4DZ2UOIV3B6CEHALL3QI.jpg\n", + "[Batch 1] ✅ FINST-BOC66X814P44ZFRANA18R9SUKA8Y2FVPZSYMM8BN.xlsx\n", + "[Batch 1] ✅ FINST-ETA66681ZAHDHL2OA0MQR6UB9W5N2MZM2DGLLU2.png\n", + "[Batch 1] ✅ FINST-F1A66381S5V32I1PLLIAICDBX2EW3SS3NUIMMJX4.png\n", + "[Batch 1] ✅ FINST-FX7660A1N11VJB6IBDBRE8N012ZQ2HVJIWBAMYL2.jpg\n", + "[Batch 1] ✅ FINST-G7B66QC1U162UFRMHJFJ59Q5VZZD3VQ1MS4KM0F.png\n", + "[Batch 1] ✅ FINST-HI766JB1ORJFF6STEI8PR6E3YJTF2B87VNDOLSM5.xlsx\n", + "[Batch 1] ✅ FINST-HRD66W919462UFW0NG4PODHZZUW63074RZAKM1DK.png\n", + "[Batch 1] ✅ FINST-IO766F81JX9VU83Z6OR927WUWBUJ3FDQKEGAM0X.xlsx\n", + "[Batch 1] ✅ FINST-IQC66GC18W4YQ8GSCL23T582HU1H3960PVGEML8.png\n", + "[Batch 1] ✅ FINST-IRD66GC15CA2MFOFM8MHCBN7OSWA3PKSUZAKMKS.png\n", + "[Batch 1] ✅ FINST-IRD66PB1X8I2R8DLJKVF9667G4LC3TWHHZLKM0J.png\n", + "[Batch 1] ✅ FINST-IUF66391KP8W6U35CG7JL8UC2GK52JXZA6TBM6P.png\n", + "[Batch 1] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "[Batch 1] ✅ FINST-J3D66LA13NTHEZAICABNRCD3KVCY222Q7IORL7UD.jpg\n", + "[Batch 1] ✅ FINST-JB966E91FW8YJMLMD52WCCZCXO5V28E0JHMEMM.jpg\n", + "[Batch 1] ✅ FINST-JXA66PB1ONATQBEIBDMEZ45MLMVB3M0CO6O7MH01.png\n", + "[Batch 1] ✅ FINST-JZE66UC1Q8H2F0E3M38EX853TR242SGJFJKKMK8.xlsx\n", + "[Batch 1] ✅ FINST-K7E66Z91F5NYOC0UD20BO775JN8C3D763K6FM16.xlsx\n", + "[Batch 1] ✅ FINST-KW866QB13VPZ5OSE9CE0LAWVKEO23QA4XVOGM92.jpg\n", + "[Batch 1] ✅ FINST-L3D66981YN31J5O8MGQCCCPF6FE82J0EBZMIMQ61.xlsx\n", + "[Batch 1] ✅ FINST-LCC66CA1BTTCK1HQ9S8TP91UHORX3JHYWOQKLO65.pptx\n", + "[Batch 1] ✅ FINST-LLA66D71DDUN56UUBRVZVD2EO3TS291ZDU00M734.png\n", + "[Batch 1] ✅ FINST-NLD66NA171BT4QDDCKR6HBD8XSHG3UJ1FSP7MJ39.png\n", + "[Batch 1] ✅ FINST-OPA665A1KV9TAY9UA78YID6X4S4Y2HPA03N7MO3.png\n", + "[Batch 1] ✅ FINST-P6D66F71YYMY4D4PE6FL58E9BU8X3JUP0G6FM6R.xlsx\n", + "[Batch 1] ✅ FINST-PF866EA1IKDECQEC8I8IECI2W3YI38JSXOPMLP8.jpg\n", + "[Batch 1] ✅ FINST-PJE66J91RJNZ1RSPBUYJB5ZF2PTI2TGY7PLGMAN.jpg\n", + "[Batch 1] ✅ FINST-PQ5669911JFP4W356K5HS98S8MZC2MUHMO82MX5.png\n", + "[Batch 1] ✅ FINST-PRF66GB105ZWQSK7CUNWR97ZV6LG3050I9UCMAY.png\n", + "[Batch 1] ✅ FINST-QJG66FC1JCE085Q3N439VAMLKVFF3GUQFMOHMEF2.xlsx\n", + "[Batch 1] ✅ FINST-QJG66IB1GWQZN4GVAGZCW8NQ61VB3AK3KSRGMWY1.xlsx\n", + "[Batch 1] ✅ FINST-QKC666919BQY70PZ8G3T57AX7UNA29H3N0BFMSC.xlsx\n", + "[Batch 1] ✅ FINST-QW8665B1XE41XSIJK01GJCNZ5YNQ2CRLVXNIMZW.png\n", + "[Batch 1] ✅ FINST-RAC66GD197JYBI9Q9WU4B731F3O52QOQQ42FMFR5.jpg\n", + "[Batch 1] ✅ FINST-UAD66591M1KJAXF6CROAFDK9Y4PD3IFY2QZTLUR1.jpg\n", + "[Batch 1] ✅ FINST-UH9665D1TLYDLO5TDNPV0CEJTFGX2AMSWP4MLGP.png\n", + "[Batch 1] ✅ FINST-USC66V6144XYJV79FR19G4JRKPA52X6OX8LFMWU3.xlsx\n", + "[Batch 1] ✅ FINST-UZA66QC18I9WZM23F0GIC4UMA25B2C14SHUBM742.png\n", + "[Batch 1] ✅ FINST-WM6666B10OZIDIA9C6K6R8A6NXEU3UON1HETL2ZJ.jpg\n", + "[Batch 1] ✅ FINST-WSF66J812FUXCO5ZCWI70C2TW7TG2OMS0F2EMAP1.png\n", + "[Batch 1] ✅ FINST-WSF66J818UYXDCKS8IZ7K50QAGNH2K3MJG8EMJP1.xlsx\n", + "[Batch 1] ✅ FINST-WYG66T718EQ0Z4TMNO8P2CRTS6NE3EUF016IMSDA.pptx\n", + "[Batch 1] ✅ FINST-Z6966NB14IDEWL268Y71A8FOS0HD2ROSG3QMLGZ3.mp4\n", + "[Batch 1] ✅ FINST-ZH866O918DRFX8WWEBEDSBMRTNU93TRYXNNOLVY.jpg\n", + "[Batch 1] ✅ FINST-ZKD66Q71XPBRGBVI8Z5FGCIWR2KS2NCI9TZ4MQ5L.xlsx\n", + "📁 正在生成批次 2: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_2\n", + "[Batch 2] ✅ FINST-0D866I81JANY5WG8A2DT15S63HZH20YFR68FMQJA.png\n", + "[Batch 2] ✅ FINST-0HD66Z81DFXYBP816VRKD6S2HA2H3RYCBYKFMR6.jpg\n", + "[Batch 2] ✅ FINST-54A66HC1426KP5L87MXEA682I67O23YKVXUUL9U9.jpg\n", + "[Batch 2] ✅ FINST-65D66X71VHAPFNPZ9OFURCIREZAS28FI7P12MJS.jpg\n", + "[Batch 2] ✅ FINST-9FA66WC1LDJNFROD7HJUI4OJ6C2J22UP25SZLUQA.jpg\n", + "[Batch 2] ✅ FINST-BL866S61XU8DOZG5BZ6E4DZ2UOIV3B6CEHALL3QI.png\n", + "[Batch 2] ✅ FINST-ETA66681ZAHDHL2OA0MQR6UB9W5N2MZM2DGLLU2.xlsx\n", + "[Batch 2] ✅ FINST-F1A66381S5V32I1PLLIAICDBX2EW3SS3NUIMMJX4.png\n", + "[Batch 2] ✅ FINST-HRD66W919462UFW0NG4PODHZZUW63074RZAKM1DK.png\n", + "[Batch 2] ✅ FINST-IQC66GC18W4YQ8GSCL23T582HU1H3960PVGEML8.png\n", + "[Batch 2] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "[Batch 2] ✅ FINST-J3D66LA13NTHEZAICABNRCD3KVCY222Q7IORL7UD.xlsx\n", + "[Batch 2] ✅ FINST-K7E66Z91F5NYOC0UD20BO775JN8C3D763K6FM16.xlsx\n", + "[Batch 2] ✅ FINST-KW866QB13VPZ5OSE9CE0LAWVKEO23QA4XVOGM92.jpg\n", + "[Batch 2] ✅ FINST-LLA66D71DDUN56UUBRVZVD2EO3TS291ZDU00M734.png\n", + "[Batch 2] ✅ FINST-NLD66NA171BT4QDDCKR6HBD8XSHG3UJ1FSP7MJ39.png\n", + "[Batch 2] ✅ FINST-PF866EA1IKDECQEC8I8IECI2W3YI38JSXOPMLP8.jpg\n", + "📁 正在生成批次 3: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_3\n", + "[Batch 3] ✅ FINST-65D66X71VHAPFNPZ9OFURCIREZAS28FI7P12MJS.png\n", + "[Batch 3] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "📁 正在生成批次 4: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_4\n", + "[Batch 4] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "📁 正在生成批次 5: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_5\n", + "[Batch 5] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "📁 正在生成批次 6: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_6\n", + "[Batch 6] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "📁 正在生成批次 7: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_7\n", + "[Batch 7] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "📁 正在生成批次 8: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_8\n", + "[Batch 8] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "📁 正在生成批次 9: C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\FPO提交_20260418093857_resources_1\\输出_9\n", + "[Batch 9] ✅ FINST-J0A66981DAZDOPI7EF20N91K9UM72O8N526MLZO2.png\n", + "\n", + "🎉 处理完成!共生成 9 个批次文件夹。\n" + ] + } + ], + "execution_count": 2 }, { "cell_type": "markdown", @@ -219,34 +227,13 @@ }, { "cell_type": "code", - "execution_count": 4, "id": "90309f69", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "🔍 正在扫描所有文件...\n", - "✅ 共找到 9 个文件,分属:附件、图片、其他\n", - "\n", - "📦 处理类别: 附件 (共 1 批)\n", - "[附件 Batch 1] ✅ FINST-56B66Q91XU6TMONCFZBLBCVK9MS03SSG3SI7MR1.pdf\n", - "[附件 Batch 1] ✅ FINST-C98664A1A8XJTVAW9W0256C4AF5S2JIWPBIULNM3.pdf\n", - "[附件 Batch 1] ✅ FINST-JZ766R91YWUW0FZ6CXRXSBAVXQ0J2ZOZEEOCMGA.pdf\n", - "[附件 Batch 1] ✅ FINST-R3D664B1B7ZYYR569QITJB9VCZXT2B8WIUNFM4X2.xlsx\n", - "[附件 Batch 1] ✅ FINST-RC966V713AMLLTHG8M1UBD6OK7EG3M3PWTYWLQYL.pdf\n", - "[附件 Batch 1] ✅ FINST-SUC66KA1UDIL18KXAMFCK9PW64XN375YHFQWLLC.pdf\n", - "[附件 Batch 1] ✅ FINST-TM966BD1Y9HK1YK1BFUOL9IO9TSI3WK4G6CVLS45.xlsx\n", - "[附件 Batch 1] ✅ FINST-ZKD66Q719O2TZRLY5HZJNAFGJW2F2IE4JYC7M0F.jpg\n", - "\n", - "📦 处理类别: 图片 (共 1 批)\n", - "[图片 Batch 1] ✅ FINST-SUC66KA1C5YJQ4NNAKAGHBOOPPFQ3QX7EJQULEKV1.jpg\n", - "\n", - "🎉 所有类别处理完成!\n" - ] + "metadata": { + "ExecuteTime": { + "end_time": "2026-04-18T07:04:36.512416200Z", + "start_time": "2026-04-18T07:04:36.466302Z" } - ], + }, "source": [ "import os\n", "import shutil\n", @@ -254,7 +241,7 @@ "import hashlib\n", "\n", "# 配置\n", - "root_path = r\"C:\\Users\\hp_z66\\OneDrive\\Desktop\\新建文件夹\\商机提交_20260209161647_resources_1\"\n", + "root_path = r\"C:\\Users\\hp_z66\\Desktop\\2026-4-18智数\\商机提交_20260418093735_resources_1\"\n", "\n", "# 分类存储:{\"附件\": {finst_id: [file1, file2, ...]}, \"图片\": {...}, \"其他\": {...}}\n", "categorized_files = {\n", @@ -361,7 +348,33 @@ " print(f\"[{category_name} Batch {batch_index}] ❌ 复制失败: {e}\")\n", "\n", "print(f\"\\n🎉 所有类别处理完成!\")" - ] + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "🔍 正在扫描所有文件...\n", + "✅ 共找到 9 个文件,分属:附件、图片、其他\n", + "\n", + "📦 处理类别: 附件 (共 1 批)\n", + "[附件 Batch 1] ✅ FINST-56B66Q91XU6TMONCFZBLBCVK9MS03SSG3SI7MR1.pdf\n", + "[附件 Batch 1] ✅ FINST-C98664A1A8XJTVAW9W0256C4AF5S2JIWPBIULNM3.pdf\n", + "[附件 Batch 1] ✅ FINST-JZ766R91YWUW0FZ6CXRXSBAVXQ0J2ZOZEEOCMGA.pdf\n", + "[附件 Batch 1] ✅ FINST-R3D664B1B7ZYYR569QITJB9VCZXT2B8WIUNFM4X2.xlsx\n", + "[附件 Batch 1] ✅ FINST-RC966V713AMLLTHG8M1UBD6OK7EG3M3PWTYWLQYL.pdf\n", + "[附件 Batch 1] ✅ FINST-SUC66KA1UDIL18KXAMFCK9PW64XN375YHFQWLLC.pdf\n", + "[附件 Batch 1] ✅ FINST-TM966BD1Y9HK1YK1BFUOL9IO9TSI3WK4G6CVLS45.xlsx\n", + "[附件 Batch 1] ✅ FINST-ZKD66Q719O2TZRLY5HZJNAFGJW2F2IE4JYC7M0F.jpg\n", + "\n", + "📦 处理类别: 图片 (共 1 批)\n", + "[图片 Batch 1] ✅ FINST-SUC66KA1C5YJQ4NNAKAGHBOOPPFQ3QX7EJQULEKV1.jpg\n", + "\n", + "🎉 所有类别处理完成!\n" + ] + } + ], + "execution_count": 6 } ], "metadata": {