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, ?it/s]"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "请求失败(HTTPConnectionPool(host='www.kuaixiuge.com', port=80): Read timed out. (read timeout=20)),第1次重试...\n",
+ "请求失败(404 Client Error: Not Found for url: http://www.kuaixiuge.com/carinfo.aspx?clientWidth=1614),第2次重试...\n",
+ "请求失败(404 Client Error: Not Found for url: http://www.kuaixiuge.com/carinfo.aspx?clientWidth=1614),第3次重试...\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ " 0%| | 0/1095 [00:46, ?it/s]\n"
+ ]
+ },
+ {
+ "ename": "KeyboardInterrupt",
+ "evalue": "",
+ "output_type": "error",
+ "traceback": [
+ "\u001B[31m---------------------------------------------------------------------------\u001B[39m",
+ "\u001B[31mTimeoutError\u001B[39m Traceback (most recent call last)",
+ "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\F6+宜搭+其它\\Lib\\http\\client.py:1450\u001B[39m, in \u001B[36mHTTPConnection.getresponse\u001B[39m\u001B[34m(self)\u001B[39m\n\u001B[32m 1449\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m-> \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': 'B11l3tzXawEk0b8cq+a6m7wQMBhupKdBU04Gc2xhLeQA8EBQPW6In24E3NYTVQsTkP/SdJAL1+XmvSLEbX4utTdJkCPEBJRfbGqQr19kLspSw6epHkPnl0P/pbFBH/OfJb2Ij8TfVdTkoR5SHsVxEUE1WIj/a/SNnkB9Jy+aGVIc0yd/QtXKUkLfEIhqjJzL2iHA3SH+m6nqiuGSBw2nAglduNSRy5mNqU6jkD2jlhbJMW7fkNwEjB9DV0mDK+kLfyi0fn10xe1F1dwm5f2bI2JGIvwcE68ToY5vzT/zQyNStxRzYE9xPPLUfzZ47t7k3CuN4oxXS63SLE/Q/4TRwGqWGq/cRtNlQjR+CaMMeHmgotwOFVF1gAlgofxhs2JEOq4lnO4gA3f82IBFvcvR7f09Tc+zlzDj/c7UuH1vvimu9ZlhrvqSEK7znpIC1ntwQsKGMHswSHqiV9+LK5qjUdEcIiQs+8RPpPqLTO1bGVnQPtZdp0zZAWQFtmSVY/BhDwzqA/ieZ7eff54Rs9JVnKUBOFqEWH6tmCexh4zrSPYAbQubnSSM1S0FkbXWl6CfFEIx2+UT6FrXTpo64JzSiGy0G4DxGAoojppjeC70DYC1zoTCT+ItFnOBAOBAL2sOc5Zx5jxG7bXpgxNmQ4c2ttIRUOxXp/mJb6jEDfmKjhe18EQQKE/OWSeAqoWfaWtG+VHlN/p+0WR8yl92Isp8bQUzevQwPU/L9NdTZX1rdArOIBlYywgeCNBo7vEqmmgeixpcXXl4q0+nMeGcWtkiyLdBEAbei/Vg+iEeOiIR6vov7dSqp/4AbNKJ1WTB60a+PLFUmBwQ7djByErF3MHTec63Uxd1tBZMspFQHiR5UtERv4tNdlIv42pENHtSB9noDGcaynhVv+jRuE7zV4Jbh6Owc9f7kEC3Hx3xEtdN/B9yVxoIS0PRdZGEaLPVSwdELDQJINdier22QmKH12kkdsGcOlsDR8qYFYyVXSimPUsjaZszuqK/pdp3NfY/9Yha0x5p/2Fu/7rMESNA3H1bzx2krOe+cofvpIJSrPN1iv66r/gmvI4riI4x2Y/VXWpV0RGDIFPe1gPGui31LlYSadFUiX57RCAgPEyHrunZErxmDOlAkz4w0UiUQoKnbixcng9AfemaWWXwruHaAFgBwP6ih9/89tSM7wh8l9MKEr2TfD4c8N41zjjGaO0uJ8k1fQRzefk57rt+/2/SZj3qd5pG+auBE/lkGp2nlwZSXshFkzbZB/V8AM5ok+nfRnnNvBteKo2iByKzuFPWd1Lxo0nUwtyvtLofwOrf7AusiZtx8afgoO3arqswI0NGlLV8P3S0oaNY4YqFpM6gBfaYi55ZykyWiqksHkMGXHW6gg0kzv0Sntp7HESRnKANNa9FPi0ApimYGHaj4xGUNYn81ngYzaaOQ7xAH1VemRzkJOJCyUYmTT3QlP0vLVH+vPpP1cFWkcBKuZHaEPagYC+21Kj415/RE/NriFDtaplYZtMohXTFgmP1lFDNDzXquJyAaqywdjk7SAJp4Ny8cLfVrDAeW3fVuBlh3xiTdYApKnCezAMC/TTDeigcDkZUQC2cOXniZMkD4WKMnXpdM49YqDE52moq29KTEXhxW1n3z7W5iG4+b95TQb21FSSQ24yScV1n9ajNqYCqmeuxAFh/uoVIjVFxPk2zUxFmurnGJvQSrMIdRScR1Ela1+0LxRkh5rEXqlRIXtrM49tshQ2Gn8FD1DlbzjOsfsSRZE6gH8Xhxu/oputJZmSHmOJP6GVBF92bvbkf+BIvkhMc73mQPRKrSNmcOB1jmrukYOhCKcX+x651aCQeoza1yc5FkF8i87QB4t+voL3JW9pKg8pbw+ryIDkIRIsD18QZAappnmVdl8vplQemurXymrd5X0kax9sUs9ql8DWQnMnUiIttfbCsaAFp+dJN5NlXVQtW8F+2tkwklr9wJ/eauTdrNosaafxrSqCvB5dMdf60WuPBHJXCGtDdiChO+l3FWoK9HkcFUKnrkAAUhgdthwzS4CGFC2UNSrUjZt/TTCBgIqpZOMriuWZ+L2eOPKazfEcaBgFQGSltKvgs/zAU4ODHM7frC0mLRvwRrwiv4xhVa5afc1boTZiOMOtlwVahMLRQaIBlP+UNCSiqtc3YZXjukpn8yACk7qyZTO3D2SrbyAHKTj995flqkGJV5zponm98ECA9AXueGYZXFpj7J3+7izmfaSAxpIXmKX1uLCyYL2zWMOuXtxZ0fSNcY/HvAaBE9okzslcyQuDMQPruje4y30L/b3oHresXZQr51FWcfHaI1dzKCMJF+IhISxjGNQFoEbuY4xXdhbvjTqROAo26iBpC31gnSrCE22sKxJ59p4QLND8xu6UzjtAQs8cSirBMI6LdRvYSSWcbjM400rwr8odGh70vErm5W0lQOkNnav5MUUjEOIc77EDUsNndav6QAPe0ABAl6FIUKMDNpSmPtbmYxzNKsUvCWwNtQ8b1cTGyiyOboAUnkvcW2+xaaVl8VMQERc7G7p7g7TsnDOWln3PxztL4Luw2EnFcZP9fE29IYpicjRhT+epCFKPhLGd3L1n++aOGaTkWfgVS9aAXmGFNgXI7AF8p+J6BI/610DHo1/WUxFZZp8z2NWcZLVGrlJGiMksTVgrQOUKFstZLv+2DRj5dcKLBaKGXYCo3NPZoCniwCHHjK+fDK6trfin7jTfI1G2VuSg7vcvF2TEkayi9Vk0KKGuwyxc5LCl5vh6H/XYxb6YeWWCGz3VMluH9rFMI0gaBLJWOqdXy/XND5+kD/iiWEiIy72ayGzZDZGsnhroMcDsAd2EKP6J/87O6cnN5xA+REqI0rwlZDSfvj75qrcSFWf7LL56N1kf3LnIxFcow935j2AXLcQyi6i7fyu+052mpK7oGg7fHJ4jJvaj+Lr1fJQFS5h9e1s08bQfrXzyUvUKun5RX7P6+jkEHWggCiHpOMM3e7NGpEg/99DAJGiVaoC9PywIQBSGn/NqPZdh0nMY+52/lxTvP4baGG2cj4lZx6NMZ5izLBpMMCq5joMt21Wnq30FpbVvTue4J0lS13Q5JyqX39lxOSmmdgzrqRlZVRz+qnad5yGkgA4eOa/mBy9vYh9nXHV2K3sERbr+9iiOXPbgoU2iVKkSVg3CdMQDu5A8/nDYhtQ+lp4lLab4mKrO4BpbjZxcLFnCv5LRr6P7hinB+HYlfC2KkgrH8nSsKDIxtm+nQgiePa7SUFDb15vtsOMU7RbhafD9tYIEeE3jTjG1FFQWygEnZImlBQWLzt3WGhPpTDTZ1I/7tvdHVzhO1wAnKCf1w7cUoeY0hzYC3zdFVs+piriz5QvxVsUxnIHqqUjikjQ3iRZVF2QxObnedgnC76H2pqw8e8dAqZzpe+gk7cXPoNdXcr/x2lGXXmV9bSL+uVMWe21dSrXE36+REyrlUkavhahE3r1+tfzf0Gmz1MedVDfqTrndwOPGvBB0/mp0g2paAJKoVeDppTJSgoPZgiReiwRqpDFG7D+u7x7mJ4MHjxhgt/80o3KQOQe9fGd+m4+/PGYv7nwz9L9ZM2S4/pilgI12gOQtrBdBVl0RL9UOO8XXJo3HjOhWVHpo0H8aboDhrhotQyVzZHTcbYKHHxD0upjHCkvZP8l8a/+4LfgTZjt0Z4CnLIue7fa6MV9hfqj0YYXH7POaQVdC4UuOIgE8GcfaQZddukBj4GRnmht22j7Gym+iBUUnjj0ihx8gsyKqvN5v2cpzUk+4RpwlV2iup5DP3nahzTR04KukIhKjYgxA+KSo5RsxQgfVSsjG0DvXnSd9nfPWE+U8GFwq3STEW5A5xGNREsdvO3wS6QvExQ8XNBbjfR0BaHiId4PmqCIgf33WznMxZJefnldrfxRwilfKgE/WIvj2zjRBMH5VE/YHio5dAYni8JEY7AYK1/w1skCHfilosztTTECRWkNEce6NJpIhc1BiuCw81oYS9pDii+QKaN7fVpS8AWfXrbXlNvsiTfxDegmEVrjRCaiDGRG1gAYKWGevzZ1k7dXz1m+8zHgz11AmBJDo6wOJVT3tBhrrRKc/CULGvqERJdRswX2pOvKn9OSUamyUm7fUqi3VLJS/tE4HfLwv26ZD3DiJ0KJE0+MH5227otab1+6+ypd60atrrWyzLqta0WGgEvCS4pWnRocc4dTC1odLUIGj6R2GRqk2NWJkwPOnk9qq1Qw3BYc3bup5o496To1874HrrqE1Ri8pTteIBybo04yOsQeop8IZ1JYmcwbZniCT/W2BILJQ+lNk/J0NhDtf5hN2qXwotZxj9tJtlIxs0SFnV0P/WzOOFiN8YREJ1Y9hN7kGvBtIkqhd4f48W3FKO31RdYNJN/lO1iFN+oB1l4xbOtwKEDj2ZEEyKXdCDHRVKwkX8dY8Hnsi+/UnD72IOF56UdipwxZv6w6nb3GuBUiVif2SGSIqd16pP0P9OQVdACOmsBaGRVSpNTG6Zye7rlaJ611jAi9bZaGN/IBTO7c1Rcy8dvQTKY7FcTlFIl2Kty4La7NUahHmmhmc2zRcEfVWvpbWTaFmNq6NShLMdEDfNBrc0lFaT85QykDAEwqwna2V8v0dgjyybPe6tf4sbk6YblxGkSClJVS3c6H6mH3mjOgSKa0DY50MraLbS0ZNszvEiy2LoGQHc5LkYwNen+bC9A27p84b7ZaIYkmvJ5VGiX2XGxeiJrCcs6jS1hSlCLsOPMKal9Fh/EBFyRKSTSHHg3HXK4rQ+gRO0br6AJOjHZ07YzP8h2C29ekdNA/SN6ASHIDqRGId7aB2pcJdvsMT9PI7dY6skTP1VoiFhyfTNcCfFe4PLhLXxhS7jnkvJkZNDmhaD4AXDwKdGYfkCkBGIRDifkPglR8EbPZ9mb6JctU7EO8YvEHY+tKTZaXn3HqpbZm5ps1CUvL5XHYioGXSKNU8QpCU+zLrWUEaWdej7jFsDICuFrs69VGsXnRIyuN320kBF7LkdRIzT4yEVfCpP6gdBU2MjcZtrdkVknd8UbUm12CbCJDHdT4KD20riFRPQX/0NjFz6aqEmEZS/BWLC1Z2TQLbQ7bpUC8E+Cm2bJUCQYLMFH5/69kcj5g8ZvgiV3QoLUEyGOM6Z+nzr8cnA4AP8RMHxN2kAKE7tbxLHoBVeTKvKgcdaQyBB2Bm8MlrrFOMzoaO45FN3P/8T9epaIY3IEzWThHPBrTlpz2Ng6LD4Lr9dAOY/I+jXVc/7637q2OiV6YzlJzcS9VI4fAabOr11cVS/F9v2RpyIq1BCaYk12ay+wfg7Mpxve1dPnIJvKBCEs2HiXJWNiYtqOT9TaUfI/EkP93lJBtHt184cMU9AJMqyMOajLJ7HC7ONrgy/N8tHU0kkGHOXmPirNSFfbgCrZP2mAEBZAisnvhsrEPbrV1EboRGEI40Oh43cRJ0wSlnhZAbA1FPrjoYahYlzGkGmaBL9X/98ZBzmLKMXhRpDi4DksF3iQrA8GC6Ma3Q9FL1xxG4Gvo+gIZlUq8RCoupDtdMpSKH6bf/A23ohQTTlKmMPOyu5lLtD3LmX6tqUKF0JtQSf6d0xc/nRcAjPcmEXFmdArAK/0cInrnQMD67TLhqnFF8bHiHTK87pqhfayHnnWiCWolGL7clQIxAg3pGm4ImbYaeD2NChvYWF/vsuvR9AL2xOaZlWNU3RcY0+DDYdZbx+zp4S2S3CpqM/yxCOY5ACCDW2rT4NhoRa8UPWi/GQvSIA0xpKpbFnr0beNWbalNHQj/0uOgoljhRDUxBj7IYBsRNLJ03y9MqlZ3woSedkrMcsoGCgA0UZwXcYRIDBdUu0e8lsq471a97lJ7cYuUjHvLQGIW4G4kiOYaer1i2zs5njBwPMx5WBE0bTnQpDNoP/Lx4CMVaMsizPjZgmdPARUnlfll/KwHKNPwozAmXE+fxlFlWZN3rQRdTheHHporhsyPqHVn72oy335MFTAoHjqFSDg1xC4Em0DQGdIl1A/Q96ClW2Td9cZ2PWJtooiL+o0frIYpUNo3xxls3AwMrp1osaVX5yK6YCfFdsAUAKu4+I96i/q9DQlI87z5U+/xQ7/sMtFN/jZYxbEIR3a8TP+RAL8h7L01U6kscum2NJpzFuix6J0DYzOAILDPWUrMHH0INeSTK5T0MV8SD/9JxhzBribBHvhE0pcHZcagydInq3aB9T6MCkrjvs37nZbO7IOOefRmTIAZUnPJNl4yOxxGN9IGQjhuyK9pU+2rbxJ6Uvj3SZF0EjQ2cND6ajOuW6whNkFVbWdo4EBIwhWqEtFMAvwm+oVps8bTSbQSm8DUY24+aUOjHVvZMgWWAim1cZjGfgGoyASIXVouiScgTcfJRdnjeq5GHdWZ/AUIvIxmr181qNo0xtfMlJ09WlOZsnSscwMkzrh0otJ7+iaoijq5W5PQit7PsxqqTx4P31ciczNxYmh0pMKEBvuQ0RjuKz0EnHNN98XjqrYcsCR9Gu2RVbOLHMsvxB0lihmTTWVPFoCTWtHwsOO/sH8JrdA691s3oC2sQH39PwJYy6oGORFStOI+pRWcbgk3bi1/lpp1TvdrDcf3H62jAmhfnWNQKbR8fynrQ5WP/1vgcppbxazh/XHpTZsHlD4AeX3iOP1L0Kw1IDw1ZUpV9Srrt1rkz2GNxRdUpC7ooiJCu2nefyfUXn3smNuAv2LoKvDfCdMnvPqoM3UBETk4JCFDvyk8bGho3o0P8Vp5lAXg2ty4P7cU34Da0exB90ElEME6k2YhCVULH5yrGXXWSfMBFhday3m+vEKoVS29t+e5PHTg8qsf5Rci6U2LHCPX/8+I4P8TNBkAqVGzORZorbnnVKxrVpGZ2iXYiE69Fw9lXgqyGZ3N728Uk9oZjCylpWjsrgJ3sGrfjqi+CYUvuCXCw1XfvuKRCAg0kioXyAOUwPWPo/1UoH6eJDEFAkFeQ9zAaoE3dHR3OloRhoWZ8G+31HRKIYS8FXED4Qnv6IAvyli9Y+MnHrsqAq6KayD+ywrjjIFkTsg8ZvS487DCcAfYGL3qGbaPcYIb0pP+DzKEK+UQtuDNLlfY2EYYPJXBgSUw5onfKPfit7XTGdnZ8InJZ9zcLgELiTC38+zYdBaTIQRrVW0AlixS7fklQHB+V60A8gOl5RBbjoFKELeecOS4Jq9NKLOkd3NQm2wHDfg+3i1F7RJNCbZELfq87b9LQTt1he0C4pZgwsBQeKfAEuU8AAQpllLnBd7yzVd6D/UeeiWFNiOnCchj1IZWhw6JrD93onfXWnEuig5ODkt6ge/lTbguez81mIFGSCPm10t/xyZ4N3m5WeqE8piHlyLzMCbBG5h73LRG3EKIn9Nt4cC5LbugMkVgnYXx7hHFYCDQWoV02DS9HX/IXP2t+OCdaeDB1DEKDhfTjio4fpHwGzkFns9BAAykT2ApJV+OO9pHjKLswMNvtP8Pn7flezDT83iG5HK2J4GE1QuE8M7sdewQ+d3mb7iaI0FGXEqg1VlEF1Hd5j2YeDnIoZwZo4m9cNP9QP5C4Bkq/OPYIfWqSKsgIcIhI0owgFqPoSME6fsnoXWmm757v1txb5F7EFQZogG2JMlwt7DiR01c1PRLUrEwc8eiNQDEPmYWRpaCuUjZj2UA8ZF41XDUyd0qVfPIdU8GU4o8dXHTOUVDniIclPoWRiPf4dDuqKdTKJbah+Isno+OCdZPkAamwuYA7hTbQjfiBAGnngcMGYRSs8TaOxcl/Lo7i+RBvwjQn6hhQYB8CjL2T5RymIHeSkJCjCF1T5AULvvierJYBJAZw0gyZlnaiYYpMuyat7zyJpUZIHWxb0x9ZCaox3BaWs7C5SXb31LmHFfY89S5d6GRbFc6vUxRxyzkzVhn7qhBNMwqTpLWugpL/wRjY0U+czIlU7Q6M0/NOhxGgeBpYL7rBLE+vel4027N7uGhiZA1tVrmdsDThNr7g32hMUMdX9lV4NVwnTTyAXmeai9bPyvJYsuPkqzDy9z1r/FnuXm+aHndBK5T4emi55WSEPwFH9L9Rhzes0pRWMhbIrKChC3ABiIFw65xmZYyWhC9vwSLg/F/AxhEMgEbFYeNCDerHJd0RF3TvZgaHFW/+E88y/x9M834K4Yn2QQH0lYm4JjqImNFJsHAUgthpxir4z7UG8agA7i9Af4HxH4DTSrrOHxLyAy1gWR9dEXahRCcr4xvIvyzWF4NVyaNIXAt7JhZBvwPJe5TJS4IVEWnJoG6KhZ39OdKROUKEj2mBnDJ049DeZNDBgpovkiDhxT+Zl9uwVCXaJnHhKke7VbcBezE6+lNtZdBt/lXdx5v9e1UTyguAQQzRaB9n2X1Qxu2n5/gt1YNYAk3bVXuIaNP7pec5HDuFXqDQlnsGtEOKN99lGP/wWplsSoScmnFft',\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, ?it/s]"
+ " 0%| | 0/8310 [00:00, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
- "model_id": "2475aaf2f08b4f3f9b6915bcbc30a4fc"
+ "model_id": "f91b10f941ab425bb47b2b50c721ccd3"
}
},
"metadata": {},
@@ -482,21 +449,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "请求异常: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)) (paymentNo: SI2511031810785166)\n",
- "请求异常: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)) (paymentNo: SI2510121646331912)\n",
- "请求异常: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)) (paymentNo: SI2504251333197830)\n",
- "请求异常: HTTPSConnectionPool(host='teds.tyreplus.com.cn', port=443): Read timed out. (read timeout=10) (paymentNo: SI2504251333197185)\n",
- "HTTP 请求失败,状态码: 504 (paymentNo: SI2504251328192860)\n",
- "请求异常: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)) (paymentNo: SI2504251327191463)\n",
- "HTTP 请求失败,状态码: 502 (paymentNo: SI2504251326190989)\n",
- "请求异常: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)) (paymentNo: SI2504251320185538)\n",
- "请求异常: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)) (paymentNo: SI2504251319184980)\n",
- "HTTP 请求失败,状态码: 502 (paymentNo: SI2504251316180693)\n",
- "请求异常: HTTPSConnectionPool(host='teds.tyreplus.com.cn', port=443): Read timed out. (read timeout=10) (paymentNo: SI2504251302159764)\n"
+ "HTTP 请求失败,状态码: 502 (paymentNo: SI2511041053790586)\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: 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, ?it/s]"
+ " 0%| | 0/4847 [00:00, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
- "model_id": "755b9172bf87470583e777ee60281e95"
+ "model_id": "02a2225e158a4c208c837d37c2a525c1"
}
},
"metadata": {},
@@ -204,38 +201,39 @@
"name": "stdout",
"output_type": "stream",
"text": [
+ "('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n",
+ "('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n",
+ "('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n",
+ "('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n",
+ "('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n",
+ "('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n",
+ "('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n",
"('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))\n"
]
}
],
- "execution_count": 10
+ "execution_count": 20
},
{
"metadata": {
"ExecuteTime": {
- "end_time": "2026-01-06T05:35:20.575883300Z",
- "start_time": "2026-01-06T05:35:18.435503400Z"
+ "end_time": "2026-05-12T06:31:03.033486600Z",
+ "start_time": "2026-05-12T06:31:02.977494Z"
}
},
"cell_type": "code",
- "source": [
- "df2 = pd.DataFrame(detail_list)\n",
- "df2.to_excel('D:\\Idea Project\\F6+宜搭+其它(1)\\张阳脚本\\文件输出\\美孚客户信息明细2.xlsx', index=False)"
- ],
+ "source": "print(response.json())",
"id": "71fe765d89e1fc8d",
"outputs": [
{
- "name": "stderr",
+ "name": "stdout",
"output_type": "stream",
"text": [
- "<>: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": {