高德匹配手机号

This commit is contained in:
z66
2025-09-23 16:35:34 +08:00
parent 30cacc7da2
commit 6321bb4cf8
15 changed files with 5343 additions and 5 deletions
+35
View File
@@ -3,6 +3,20 @@
<component name="CsvFileAttributes"> <component name="CsvFileAttributes">
<option name="attributeMap"> <option name="attributeMap">
<map> <map>
<entry key="\back_ground_module\CRM.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="\back_ground_module\DF.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="\db\task_queue.csv"> <entry key="\db\task_queue.csv">
<value> <value>
<Attribute> <Attribute>
@@ -17,6 +31,27 @@
</Attribute> </Attribute>
</value> </value>
</entry> </entry>
<entry key="\test\feibiao.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="\test\output\new_dealer_service_order_to_bi.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="\test\output\partner_settlement.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
</map> </map>
</option> </option>
</component> </component>
+2
View File
@@ -303,6 +303,7 @@ class API:
while retries <= max_retries: while retries <= max_retries:
try: try:
res: requests.Response = requests.post(url=url, data=payload, headers=headers, timeout=10) res: requests.Response = requests.post(url=url, data=payload, headers=headers, timeout=10)
# print(res.json())
res.raise_for_status() # 检查HTTP响应状态码,如果不等于200会抛出异常 res.raise_for_status() # 检查HTTP响应状态码,如果不等于200会抛出异常
data_get = res.json() data_get = res.json()
if data_get["status"] == "success": if data_get["status"] == "success":
@@ -353,6 +354,7 @@ class API:
res: requests.Response = requests.post(url=url, data=payload, headers=headers, timeout=10) res: requests.Response = requests.post(url=url, data=payload, headers=headers, timeout=10)
res.raise_for_status() # 检查HTTP响应状态码,如果不等于200会抛出异常 res.raise_for_status() # 检查HTTP响应状态码,如果不等于200会抛出异常
data_get = res.json() data_get = res.json()
# print(data_get)
if res.status_code == 200: if res.status_code == 200:
break # 成功则跳出循环 break # 成功则跳出循环
else: else:
+1
View File
@@ -233,6 +233,7 @@ class NewExceptionTask:
province_name = NGV_Data.get("_widget_1734062123090") province_name = NGV_Data.get("_widget_1734062123090")
city_name = NGV_Data.get("_widget_1734062123092") city_name = NGV_Data.get("_widget_1734062123092")
area_name = NGV_Data.get("_widget_1734062123094") area_name = NGV_Data.get("_widget_1734062123094")
#
logger.info(f"获取关联数据成功:{NGV_data_id}, {province_name}, {city_name}, {area_name}") logger.info(f"获取关联数据成功:{NGV_data_id}, {province_name}, {city_name}, {area_name}")
if not NGV_data_id: if not NGV_data_id:
+211
View File
@@ -0,0 +1,211 @@
from datetime import datetime
import os
from config import Config
import pandas as pd
from back_ground_module import CommonModule
from api import API
from log_config import configure_task_logger, configure_error_task_logger
import requests
import numpy as np # 确保导入numpy(如果涉及numpy数组)
logger = configure_task_logger()
error_task_logger = configure_error_task_logger()
output_dir = "output" # 设置输出目录
os.makedirs(output_dir, exist_ok=True)
common_module = CommonModule()
api_instance = API()
class GDMatchPhoneNumber:
def __init__(self):
self.loader_company_data = None
self.fild_mapping = {
"是否已查询": "_widget_1758594869262",
"": "_widget_1758594869257",
"": "_widget_1758594869258",
"": "_widget_1758594869259",
"公司名称": "_widget_1758594869260",
"详细地址": "_widget_1758594869261",
}
self.upload_fild_mapping = {
"源文件省": "_widget_1758598285406",
"源文件市": "_widget_1758598285407",
"源文件区": "_widget_1758598285408",
"源文件地址": "_widget_1758598285409",
"源文件门店店名": "_widget_1758598285410",
"名称相似度": "_widget_1758598285411",
"地址相似度": "_widget_1758598285412",
"综合相似度": "_widget_1758598285413",
"address": "_widget_1758598285387",
"pname": "_widget_1758598285389",
"cityname": "_widget_1758598285393",
"adname": "_widget_1758598285400",
"name": "_widget_1758598285401",
"tel": "_widget_1758598285403",
"parent": "_widget_1758598285386",
"distance": "_widget_1758598285388",
"importance": "_widget_1758598285390",
"biz_ext": "_widget_1758598285391",
"biz_type": "_widget_1758598285392",
"type": "_widget_1758598285394",
"photos": "_widget_1758598285395",
"typecode": "_widget_1758598285396",
"shopinfo": "_widget_1758598285397",
"poiweight": "_widget_1758598285398",
"childtype": "_widget_1758598285399",
"location": "_widget_1758598285402",
"shopid": "_widget_1758598285404",
"id": "_widget_1758598285405"
}
def load_all_data(self):
# 获取经销商新签服务单数据
payload = {"api_key": "66f3a68c6e56814df2c6b1af",
"entry_id": "68d20734a9add4c6126ee9f2",
}
loader_company = api_instance.entry_data_list(payload)
self.loader_company_data = loader_company.get("data") # api请求格式,将数据封装在data字典里
@staticmethod
def row_to_dict(row, field_mapping):
"""将一行数据转换为指定格式的字典"""
result = {}
for col_name, widget_id in field_mapping.items():
if col_name in row:
value = row[col_name]
# 处理空数组/列表的情况
if isinstance(value, (list, np.ndarray)):
if len(value) == 0:
clean_value = None # 空数组视为None
else:
clean_value = value # 非空数组保留原值
# 处理缺失值
elif pd.isna(value):
clean_value = None
# 处理时间戳
elif isinstance(value, pd.Timestamp):
clean_value = value.strftime('%Y-%m-%dT%H:%M:%SZ')
else:
clean_value = value
result[widget_id] = {"value": clean_value}
return result
def match_phone_number(self):
# 替换列明
df = pd.DataFrame(self.loader_company_data)
reserve_mapping = {v: k for k, v in self.fild_mapping.items()}
df.rename(columns=reserve_mapping, inplace=True)
# 统计出本日查询的订单数量
count = 0
url = "https://restapi.amap.com/v3/place/text?parameters"
all_data = []
for index, row in df.iterrows():
if row["是否已查询"] == "":
continue
# 处理详细地址
cleaned = row['详细地址'].replace(row[''], '').strip()
cleaned = cleaned.replace(row[''], '').strip()
cleaned = ' '.join(cleaned.split())
row["详细地址"] = cleaned
# 特殊处理直辖市
if row[""] in ["天津市", "上海市", "重庆市", "北京市"] and row[""] == "市辖区":
row[""] = row[""]
key_words = row["公司名称"].replace("(个体工商户)", "").strip()
region = row[""]
detail_address = row["详细地址"]
def search_amap(keywords, region, page_num):
params = {
# "key": "f61b09d406ac49f8a034bf585e60c442",
"key": "273b328f2e85b7e1ad6faa0d4f33ccf2",
"keywords": keywords,
"types": "010400|010500|010800|020000|030000",
"city":region,
# "region": region,
"city_limit": "true",
"page_size": "20",
"page_num": str(page_num)
}
if count > 150:
params.update({"key": "f61b09d406ac49f8a034bf585e60c442"})
res = requests.get(url=url, params=params)
# print(res.json())
return res.json().get("pois", [])
# 初始搜索关键词
current_keywords = key_words
max_pages = 2 # 最多请求2页
for page_num in range(1, max_pages + 1):
pois = search_amap(current_keywords, region, page_num)
for poi in pois:
poi.update({"源文件省": row[""]})
poi.update({"源文件市": row[""]})
poi.update({"源文件区": row[""]})
poi.update({"源文件地址": row["详细地址"]})
poi.update({"源文件门店店名": row["公司名称"]})
all_data.append(poi)
count += 1
# 更新状态为已查询
modify_payload = {
"api_key": "66f3a68c6e56814df2c6b1af",
"entry_id": "68d20734a9add4c6126ee9f2",
"data_id": row["_id"],
"data":
{
"_widget_1758594869262": {"value":""}
}
}
# print(modify_payload)
api_instance.entry_data_update(modify_payload)
if count > 300:
break
result_df = pd.DataFrame(all_data)
return result_df
def upload_df(self, result_df):
all_data = [self.row_to_dict(row, self.upload_fild_mapping) for index, row in result_df.iterrows()] # 增量数据
payload = {
"api_key": "66f3a68c6e56814df2c6b1af",
"entry_id": "68d2148d8bcb4d1716b1c03f",
"data_list": all_data
}
api_instance.entry_data_batch_create(payload)
def main(self):
task_start_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
try:
# 获取数据
self.load_all_data()
logger.info(f"数据加载完成。")
# 根据高德api匹配手机号
result_df = self.match_phone_number()
logger.info(f"数据匹配完成。")
# result_df.to_csv(os.path.join(output_dir, "result.csv"), index=False)
# 结果上传到简道云
self.upload_df(result_df)
logger.info(f"数据上传完成。")
except Exception as e:
# common_module.send_task_error(task_start_time, "高德匹配手机号", str(e))
error_task_logger.error(f"任务高德匹配手机号执行失败。")
raise
common_module.send_task_status(task_start_time, "高德匹配手机号")
if __name__ == '__main__':
gd_match_phone_number = GDMatchPhoneNumber()
gd_match_phone_number.main()
+1
View File
@@ -26,3 +26,4 @@ from back_ground_module.data_monitor import DataMonitor
from back_ground_module.new_dealer_service_order_to_bi import NewDealerServiceOrderToBI from back_ground_module.new_dealer_service_order_to_bi import NewDealerServiceOrderToBI
from back_ground_module.non_standar_performance_to_BI import NonStandardPerformanceToBI from back_ground_module.non_standar_performance_to_BI import NonStandardPerformanceToBI
from back_ground_module.partner_settlement_to_BI import PartnerSettlementToBI from back_ground_module.partner_settlement_to_BI import PartnerSettlementToBI
from back_ground_module.GD_match_phone_number import GDMatchPhoneNumber
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -182,7 +182,7 @@ class CRMDataProcessor:
CRM_data_list = self.api_instance.entry_data_list(payload).get("data") CRM_data_list = self.api_instance.entry_data_list(payload).get("data")
CRM_data = pd.DataFrame(CRM_data_list) CRM_data = pd.DataFrame(CRM_data_list)
print("成功从API获取CRM数据") print("成功从API获取CRM数据")
CRM_data.to_csv("CRM.csv") # CRM_data.to_csv("CRM.csv")
return CRM_data return CRM_data
def process_data(self, df): def process_data(self, df):
+15 -3
View File
@@ -306,7 +306,7 @@ class Module:
@staticmethod @staticmethod
def new_dealer_service_order_to_bi(): def new_dealer_service_order_to_bi():
print("data_monitor") print("new_dealer_service_order_to_bi")
try: try:
new_dealer_service_order_to_bi = back_ground_module.NewDealerServiceOrderToBI() new_dealer_service_order_to_bi = back_ground_module.NewDealerServiceOrderToBI()
thread = threading.Thread(target=new_dealer_service_order_to_bi.main) thread = threading.Thread(target=new_dealer_service_order_to_bi.main)
@@ -318,7 +318,7 @@ class Module:
@staticmethod @staticmethod
def non_standar_performance_to_BI(): def non_standar_performance_to_BI():
print("data_monitor") print("non_standar_performance_to_BI")
try: try:
non_standar_performance_to_BI = back_ground_module.NonStandardPerformanceToBI() non_standar_performance_to_BI = back_ground_module.NonStandardPerformanceToBI()
thread = threading.Thread(target=non_standar_performance_to_BI.main) thread = threading.Thread(target=non_standar_performance_to_BI.main)
@@ -330,7 +330,7 @@ class Module:
@staticmethod @staticmethod
def partner_settlement_to_BI(): def partner_settlement_to_BI():
print("data_monitor") print("partner_settlement_to_BI")
try: try:
partner_settlement_to_BI = back_ground_module.PartnerSettlementToBI() partner_settlement_to_BI = back_ground_module.PartnerSettlementToBI()
thread = threading.Thread(target=partner_settlement_to_BI.main) thread = threading.Thread(target=partner_settlement_to_BI.main)
@@ -340,6 +340,18 @@ class Module:
print("data_Exception_Task", e) print("data_Exception_Task", e)
return False return False
@staticmethod
def GD_match_phone_number():
print("GD_match_phone_number")
try:
GD_match_phone_number = back_ground_module.GDMatchPhoneNumber()
thread = threading.Thread(target=GD_match_phone_number.main)
thread.start()
return "data_Exception_Task"
except Exception as e:
print("data_Exception_Task", e)
return False
@staticmethod @staticmethod
def text3(): def text3():
print("text3") print("text3")
+1
View File
@@ -41,6 +41,7 @@ def execute_task(task_id) -> bool:
"经销商新签服务单转BI": Module.new_dealer_service_order_to_bi, "经销商新签服务单转BI": Module.new_dealer_service_order_to_bi,
"合伙人结算登记同步到BI": Module.partner_settlement_to_BI, "合伙人结算登记同步到BI": Module.partner_settlement_to_BI,
"非标业绩提报转BI": Module.non_standar_performance_to_BI, "非标业绩提报转BI": Module.non_standar_performance_to_BI,
"高德匹配手机号": Module.GD_match_phone_number,
# 添加更多任务函数映射... # 添加更多任务函数映射...
} }
+1 -1
View File
@@ -346,7 +346,7 @@
{ {
"metadata": {}, "metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"source": "## 修改数据库列", "source": "## 修改数据库列",
"id": "16823b535b354ced" "id": "16823b535b354ced"
}, },
{ {
+255
View File
@@ -0,0 +1,255 @@
import pandas as pd
import requests
import json
from time import sleep
from module import F6_module
import mysql.connector
from mysql.connector import Error
from datetime import datetime
class CouponDataProcessor:
def __init__(self):
self.f6_module = F6_module()
self.base_url = "https://yunxiu.f6car.cn/macan/coupon/info/pagingCouponUsageRecord"
self.headers = {
'accept': 'application/json, text/plain, */*',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'referer': 'https://yunxiu.f6car.cn/erp/view/index.html'
}
self.db_config = {
'host': "f6-public.rwlb.rds.aliyuncs.com",
'user': "rw_operation_data_relay",
'password': "m+q5Z4%IVuF9bf",
'database': "f6operation_data_relay"
} # 衡时数据库链接配置-mysql
self.username = "15222738424"
self.password = "cw25966929@"
def drop_column(self, cursor, table_name, column_name):
"""删除表中的指定列"""
try:
# 检查列是否存在
cursor.execute(f"SHOW COLUMNS FROM {table_name} LIKE '{column_name}'")
if cursor.fetchone():
# 如果列存在,则删除
drop_query = f"ALTER TABLE {table_name} DROP COLUMN {column_name}"
cursor.execute(drop_query)
print(f"成功从表 {table_name} 中删除列 {column_name}")
else:
print(f"{table_name} 中不存在列 {column_name}")
except Error as e:
print(f"删除列失败: {e}")
def _fetch_all_coupons(self, page_size=100):
"""获取所有分页数据"""
cookies = self._login()
params = {
'keyword': '',
'couponName': '',
'currentPage': '1',
'pageSize': str(page_size),
'sorts': ''
}
# 获取第一页确定总页数
first_page = self._fetch_page(params, cookies)
if not first_page:
return None
total_records = first_page.get('info', {}).get('total', 0)
if total_records == 0:
return None
total_pages = (total_records + page_size - 1) // page_size
print(f"共发现 {total_records} 条记录,{total_pages}")
# 收集所有数据
all_data = first_page.get('info', {}).get('list', [])
for page in range(2, total_pages + 1):
params['currentPage'] = str(page)
print(f"正在获取第 {page}/{total_pages} 页...")
page_data = self._fetch_page(params, cookies)
if page_data:
all_data.extend(page_data.get('info', {}).get('list', []))
sleep(0.5) # 礼貌延迟
return all_data
def _login(self):
"""登录获取cookies"""
res = self.f6_module.login_in(self.username, self.password)
return requests.utils.dict_from_cookiejar(res.cookies)
def _fetch_page(self, params, cookies, max_retries=3):
"""带重试机制的页面请求"""
for attempt in range(max_retries):
try:
response = requests.get(
self.base_url,
params=params,
cookies=cookies,
headers=self.headers,
timeout=10
)
response.raise_for_status()
return response.json()
except Exception as e:
print(f"请求失败(尝试 {attempt + 1}/{max_retries}: {str(e)}")
if attempt < max_retries - 1:
sleep(2)
return None
def _process_data(self, raw_data):
"""处理原始数据"""
df = pd.DataFrame(raw_data)
if not df.empty:
# 处理couponCarList字段(列表/字典转为JSON字符串)
if 'couponCarList' in df.columns:
df['couponCarList'] = df['couponCarList'].apply(
lambda x: json.dumps(x, ensure_ascii=False) if pd.notna(x) else None
)
# 同时提取carId和carNo
df['carId'] = df['couponCarList'].apply(
lambda x: json.loads(x)[0].get('carId') if pd.notna(x) else None
)
df['carNo'] = df['couponCarList'].apply(
lambda x: json.loads(x)[0].get('carNo') if pd.notna(x) else None
)
# 处理couponInfo字段(字典转为JSON字符串)
if 'couponInfo' in df.columns:
df['couponInfo'] = df['couponInfo'].apply(
lambda x: json.dumps(x, ensure_ascii=False) if pd.notna(x) else None
)
# 同时展开部分常用字段
try:
coupon_info = pd.json_normalize(df['couponInfo'].apply(
lambda x: json.loads(x) if pd.notna(x) else {}
))
df = pd.concat([df, coupon_info.add_prefix('couponInfo.')], axis=1)
except Exception as e:
print(f"展开couponInfo时出错: {str(e)}")
# 处理时间字段
if 'takeTime' in df.columns:
df['takeTime'] = pd.to_datetime(df['takeTime'], unit='ms')
if 'useTime' in df.columns:
df['useTime'] = pd.to_datetime(df['useTime'], unit='ms')
# 重命名列
if 'id' in df.columns:
df = df.rename(columns={'id': 'id1'})
return df
def _import_to_database(self, df, table_name="coupon_usage_record_details", batch_size=1000):
"""直接将处理后的DataFrame导入MySQL"""
conn = None
cursor = None
try:
# 连接数据库
conn = mysql.connector.connect(**self.db_config)
cursor = conn.cursor()
# 删除表中的所有数据
print(f"正在清空表 {table_name} 中的数据...")
cursor.execute(f"DELETE FROM {table_name}")
cursor.execute(f"ALTER TABLE {table_name} AUTO_INCREMENT = 1")
conn.commit()
print(f"已成功清空表 {table_name} 中的所有数据")
# 处理时间类型数据
datetime_columns = [col for col in df.columns if df[col].dtype == 'datetime64[ns]']
for col in datetime_columns:
df[col] = df[col].apply(self._convert_datetime)
# 处理所有数据,将NaN转为None
df = df.where(pd.notna(df), None)
# 获取数据库列信息
cursor.execute(f"SHOW COLUMNS FROM {table_name}")
db_columns = [col[0] for col in cursor.fetchall() if col[0] != 'id']
# 确保DataFrame列与数据库列一致
df = df[db_columns]
# 生成插入语句
columns = ', '.join([f"`{col}`" for col in df.columns])
placeholders = ', '.join(['%s'] * len(df.columns))
insert_query = f"INSERT INTO `{table_name}` ({columns}) VALUES ({placeholders})"
# 分批插入数据
print("开始导入数据...")
total_rows = len(df)
for i in range(0, total_rows, batch_size):
batch = df.iloc[i:i + batch_size]
# 将DataFrame转换为元组列表,并处理所有数据类型
records = [tuple(self._convert_datetime(val) if isinstance(val, (pd.Timestamp, datetime)) else val
for val in row)
for row in batch.values]
try:
cursor.executemany(insert_query, records)
conn.commit()
print(f"已导入 {min(i + batch_size, total_rows)}/{total_rows} 条记录")
except Error as e:
conn.rollback()
print(f"批量导入失败: {e}")
# 尝试逐条导入以找出问题行
for idx, record in enumerate(records):
try:
cursor.execute(insert_query, record)
conn.commit()
except Error as e:
print(f"{i + idx + 1} 行导入失败: {e}")
print(f"问题数据: {record}")
conn.rollback()
print(f"成功导入 {total_rows} 条记录到 {table_name}")
except Error as e:
print(f"数据库操作失败: {e}")
except Exception as e:
print(f"发生错误: {e}")
finally:
if cursor:
cursor.close()
if conn:
conn.close()
@staticmethod
def _convert_datetime(value):
"""将Pandas/NumPy时间类型转换为MySQL兼容的datetime"""
if pd.isna(value):
return None
if isinstance(value, pd.Timestamp):
return value.to_pydatetime()
if isinstance(value, datetime):
return value
return value
def execute_pipeline(self):
"""执行完整数据处理流程"""
try:
# 1. 获取数据
print("开始获取优惠券数据...")
raw_data = self._fetch_all_coupons()
if not raw_data:
raise Exception("未能获取有效数据")
# 2. 处理数据
print("处理数据中...")
processed_df = self._process_data(raw_data)
# 3. 直接导入数据库
self._import_to_database(processed_df)
print("数据处理流程完成!")
except Exception as e:
print(f"流程执行失败: {e}")
if __name__ == "__main__":
processor = CouponDataProcessor()
processor.execute_pipeline()
+1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+501
View File
@@ -24,3 +24,504 @@
2025-08-20 16:58:29,045 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-08-20T08:58:26.821Z', 'updateTime': '2025-08-20T08:58:26.821Z', 'deleteTime': None, '_widget_1744873387500': '2025-08-20T00:00:00.000Z', '_widget_1743644977694': '非标业绩提报转BI', '_widget_1744873387501': '2025-08-20T08:58:28.000Z', '_widget_1744873387502': '2025-08-20T08:58:28.000Z', '_widget_1744873387504': '0', '_id': '68a58e326435007d9a859fa2', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}} 2025-08-20 16:58:29,045 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-08-20T08:58:26.821Z', 'updateTime': '2025-08-20T08:58:26.821Z', 'deleteTime': None, '_widget_1744873387500': '2025-08-20T00:00:00.000Z', '_widget_1743644977694': '非标业绩提报转BI', '_widget_1744873387501': '2025-08-20T08:58:28.000Z', '_widget_1744873387502': '2025-08-20T08:58:28.000Z', '_widget_1744873387504': '0', '_id': '68a58e326435007d9a859fa2', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-08-27 11:11:22,356 - api.py - task_logger - INFO - 已获取 1 条数据 2025-08-27 11:11:22,356 - api.py - task_logger - INFO - 已获取 1 条数据
2025-08-27 11:11:49,228 - api.py - task_logger - INFO - 已获取 1 条数据 2025-08-27 11:11:49,228 - api.py - task_logger - INFO - 已获取 1 条数据
2025-09-23 14:22:39,699 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 14:22:39,868 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 14:22:39,995 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 14:22:40,184 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 14:22:40,352 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 14:22:40,492 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 14:22:40,611 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 14:22:40,714 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 14:22:40,834 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 14:22:42,650 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 14:22:42,806 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 14:22:42,930 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 14:22:43,029 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 14:22:43,120 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 14:22:43,203 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 14:22:43,344 - common_module.py - task_logger - INFO - 任务错误发生成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T06:22:42.311Z', 'updateTime': '2025-09-23T06:22:42.311Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T06:22:39.000Z', '_widget_1744873387502': '2025-09-23T06:22:43.000Z', '_widget_1744873387504': '4', '_widget_1754981992215': "'地址'", '_id': '68d23cb2c29ebe9e6fe1f5bf', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '689ae65da00c17578e27cd74'}}
2025-09-23 14:34:40,525 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 14:34:40,808 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 14:34:40,939 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 14:34:41,071 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 14:34:41,193 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 14:34:41,296 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 14:34:41,403 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 14:34:41,525 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 14:34:41,630 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 14:34:41,759 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 14:34:48,082 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 14:34:48,284 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 14:34:48,397 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 14:34:48,496 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 14:34:48,581 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 14:34:49,162 - common_module.py - task_logger - INFO - 任务错误发生成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T06:34:48.013Z', 'updateTime': '2025-09-23T06:34:48.013Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T06:34:40.000Z', '_widget_1744873387502': '2025-09-23T06:34:48.000Z', '_widget_1744873387504': '8', '_widget_1754981992215': "'门店店名'", '_id': '68d23f88ddd4b80401f266d6', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '689ae65da00c17578e27cd74'}}
2025-09-23 14:35:32,056 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 14:35:32,266 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 14:35:32,402 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 14:35:32,519 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 14:35:32,638 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 14:35:32,763 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 14:35:32,878 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 14:35:33,000 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 14:35:33,222 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 14:35:33,357 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 14:35:33,471 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 14:35:33,620 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 14:35:33,767 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 14:35:33,870 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 14:35:33,962 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 14:38:56,932 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 14:38:57,036 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 14:38:57,159 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 14:38:57,341 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 14:38:57,449 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 14:38:57,563 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 14:38:57,680 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 14:38:57,793 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 14:38:57,923 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 14:38:58,126 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 14:38:58,238 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 14:38:58,353 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 14:38:58,462 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 14:38:58,569 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 14:38:58,655 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 14:39:00,908 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 14:39:00,930 - api.py - task_logger - INFO - 多数据写入行数: 81
2025-09-23 14:43:26,670 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 14:43:26,804 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 14:43:26,919 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 14:43:27,094 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 14:43:27,211 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 14:43:27,336 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 14:43:27,980 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 14:43:28,098 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 14:43:28,239 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 14:43:28,907 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 14:43:29,037 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 14:43:29,237 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 14:43:29,481 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 14:43:29,581 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 14:43:29,901 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 14:43:31,612 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:21:42,426 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:21:42,557 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:21:42,682 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:21:42,797 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:21:42,914 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:21:43,063 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:21:43,201 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:21:43,377 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:21:43,497 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:21:43,617 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:21:43,732 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:21:43,881 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:21:43,999 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:21:44,110 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:21:44,198 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:21:46,162 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:21:46,168 - api.py - task_logger - INFO - 多数据写入行数: 81
2025-09-23 15:22:27,046 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:22:27,180 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:22:27,353 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:22:27,478 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:22:27,647 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:22:27,769 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:22:27,866 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:22:27,980 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:22:28,086 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:22:28,211 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:22:28,352 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:22:28,481 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:22:28,695 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:22:28,792 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:22:28,931 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:22:30,668 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:22:30,684 - api.py - task_logger - INFO - 多数据写入行数: 81
2025-09-23 15:22:30,900 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 15:22:31,062 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T07:22:29.922Z', 'updateTime': '2025-09-23T07:22:29.922Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T07:22:26.000Z', '_widget_1744873387502': '2025-09-23T07:22:30.000Z', '_widget_1744873387504': '4', '_id': '68d24ab5b9f5979bc00fc137', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 15:37:25,783 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:37:25,924 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:37:26,117 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:37:27,398 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:37:27,511 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:37:27,623 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:37:27,735 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:37:28,099 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:37:28,261 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:37:28,436 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:37:28,584 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:37:28,804 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:37:28,921 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:37:29,034 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:37:29,118 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:37:30,830 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:37:30,840 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 15:37:31,046 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:31,268 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:31,526 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:31,770 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:32,050 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:32,311 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:32,597 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:32,919 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:33,156 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:33,407 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:33,666 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:33,910 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:34,146 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:34,385 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:34,624 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:37:34,854 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:25,206 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:38:25,399 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:38:25,554 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:38:25,743 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:38:25,883 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:38:26,023 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:38:26,152 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:38:26,278 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:38:26,380 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:38:26,604 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:38:26,709 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:38:26,849 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:38:26,972 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:38:27,090 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:38:27,182 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:38:28,849 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:38:28,858 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 15:38:29,008 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:29,245 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:29,498 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:29,731 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:29,989 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:30,983 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:31,253 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:31,529 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:31,782 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:32,050 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:32,281 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:32,637 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:33,344 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:33,577 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:33,879 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:34,759 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:35,011 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:35,239 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:35,494 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:35,738 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:36,089 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:38:36,197 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 15:38:36,329 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T07:38:35.191Z', 'updateTime': '2025-09-23T07:38:35.191Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T07:38:25.000Z', '_widget_1744873387502': '2025-09-23T07:38:36.000Z', '_widget_1744873387504': '11', '_id': '68d24e7b9d258d744c3dbda0', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 15:39:32,940 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:39:33,076 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:39:33,183 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:39:33,318 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:39:33,497 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:39:33,610 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:39:33,738 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:39:43,791 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Read timed out. (read timeout=10), 将重新请求
2025-09-23 15:39:43,993 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:39:44,099 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:39:44,223 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:39:44,373 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:39:44,584 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:39:44,712 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:39:44,830 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:39:45,042 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:39:47,082 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:39:47,097 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 15:39:47,262 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:47,510 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:47,757 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:48,045 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:48,419 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:48,673 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:48,923 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:49,193 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:49,453 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:49,689 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:49,945 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:50,182 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:50,421 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:50,677 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:50,923 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:51,196 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:51,443 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:51,685 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:51,925 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:52,205 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:52,524 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:39:52,632 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 15:39:52,779 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T07:39:51.623Z', 'updateTime': '2025-09-23T07:39:51.623Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T07:39:32.000Z', '_widget_1744873387502': '2025-09-23T07:39:52.000Z', '_widget_1744873387504': '20', '_id': '68d24ec71dab6171a1fe3b55', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 15:42:01,694 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:42:01,824 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:42:01,948 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:42:02,163 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:42:02,281 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:42:02,410 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:42:02,530 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:42:02,649 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:42:02,760 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:42:02,904 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:42:03,062 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:42:03,187 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:42:03,852 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:42:03,951 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:42:04,045 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:42:05,734 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:42:05,748 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 15:42:05,895 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:42:06,281 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:42:06,522 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:42:06,750 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:42:07,103 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:27,211 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:49:27,338 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:49:27,444 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:49:27,573 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:49:27,688 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:49:27,805 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:49:27,911 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:49:28,023 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:49:28,149 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:49:28,310 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:49:28,443 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:49:28,598 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:49:28,750 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:49:28,840 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:49:33,950 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:49:35,947 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:49:35,965 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 15:49:36,104 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:36,332 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:36,603 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:36,839 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:37,082 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:37,470 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:37,708 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:37,971 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:38,203 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:38,470 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:38,711 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:38,988 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:49:39,519 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:51:53,634 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:51:53,746 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:51:53,957 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:51:54,089 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:51:54,214 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:51:54,366 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:51:54,534 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:51:54,642 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:51:54,804 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:51:54,945 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:51:55,054 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:51:55,161 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:51:55,262 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:51:55,400 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:51:55,506 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:52:15,759 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:52:15,867 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:52:16,073 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:52:16,195 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:52:16,317 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:52:16,420 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:52:16,532 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:52:16,669 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:52:16,901 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:52:17,011 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:52:17,116 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:52:17,230 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:52:17,998 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:52:18,163 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:52:18,265 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:52:20,450 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:52:20,464 - api.py - task_logger - INFO - 多数据写入行数: 60
2025-09-23 15:52:20,596 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:21,097 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:21,339 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:21,625 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:21,893 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:22,125 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:22,369 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:22,721 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:22,961 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:23,201 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:23,431 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:23,654 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:23,882 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:24,125 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:24,418 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:24,654 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:24,883 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:25,126 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:25,385 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:25,629 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:25,953 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:52:26,059 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 15:52:26,217 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T07:52:25.051Z', 'updateTime': '2025-09-23T07:52:25.051Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T07:52:15.000Z', '_widget_1744873387502': '2025-09-23T07:52:26.000Z', '_widget_1744873387504': '11', '_id': '68d251b9e45fb014d780bac1', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 15:55:07,599 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 15:55:08,435 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 15:55:08,557 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 15:55:08,699 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 15:55:08,805 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 15:55:08,936 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 15:55:18,985 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Read timed out. (read timeout=10), 将重新请求
2025-09-23 15:55:19,214 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 15:55:19,377 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 15:55:19,487 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 15:55:19,613 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 15:55:19,746 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 15:55:19,865 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 15:55:19,980 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 15:55:26,143 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 15:55:26,313 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 15:55:28,093 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 15:55:28,108 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 15:55:29,056 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:29,432 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:29,673 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:29,927 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:30,209 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:30,451 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:30,715 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:30,981 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:31,292 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:31,566 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:31,859 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:32,100 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:32,350 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 15:55:32,602 - api.py - task_logger - WARNING - 请求异常: 400 Client Error: Bad Request for url: https://api.jiandaoyun.com/api/v5/app/entry/data/batch_create, 将重新请求
2025-09-23 16:00:29,570 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 16:00:29,849 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 16:00:30,052 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 16:00:30,871 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 16:00:31,660 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 16:00:31,768 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 16:00:33,255 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 16:00:33,378 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 16:00:43,457 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Read timed out. (read timeout=10), 将重新请求
2025-09-23 16:00:53,625 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Read timed out. (read timeout=10), 将重新请求
2025-09-23 16:00:55,017 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 16:00:57,668 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 16:00:57,788 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 16:01:01,128 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 16:01:01,621 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 16:01:02,023 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 16:01:03,616 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 16:01:05,430 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 16:01:05,446 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 16:01:06,378 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 16:01:06,642 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T08:01:05.442Z', 'updateTime': '2025-09-23T08:01:05.442Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T08:00:29.000Z', '_widget_1744873387502': '2025-09-23T08:01:06.000Z', '_widget_1744873387504': '37', '_id': '68d253c1b44b90e2e4c45116', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 16:09:06,750 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 16:09:06,871 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 16:09:07,006 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 16:09:07,125 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 16:09:07,268 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 16:09:07,427 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 16:09:07,630 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 16:09:07,745 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 16:09:07,885 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 16:09:08,015 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 16:09:08,161 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 16:09:09,192 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 16:09:09,714 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 16:09:09,839 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 16:09:09,941 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 16:09:54,240 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 16:09:54,356 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 16:09:54,478 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 16:09:54,594 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 16:09:54,745 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 16:09:54,856 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 16:09:59,005 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 16:09:59,130 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 16:09:59,246 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 16:09:59,398 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 16:09:59,550 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 16:09:59,664 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 16:09:59,809 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 16:09:59,909 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 16:10:00,001 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 16:10:01,744 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 16:10:01,755 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 16:10:02,071 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 16:10:03,339 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T08:10:02.001Z', 'updateTime': '2025-09-23T08:10:02.001Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T08:09:54.000Z', '_widget_1744873387502': '2025-09-23T08:10:02.000Z', '_widget_1744873387504': '8', '_id': '68d255da1dc8b37de902fc6b', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 16:10:29,099 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 16:10:29,265 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 16:10:29,373 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 16:10:29,506 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 16:10:29,610 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 16:10:29,757 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 16:10:29,859 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 16:10:30,106 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 16:10:33,817 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 16:10:33,954 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 16:10:34,087 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 16:10:34,221 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 16:10:34,373 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 16:10:34,468 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 16:10:34,554 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 16:10:36,398 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 16:10:36,411 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 16:10:36,663 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 16:10:36,804 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T08:10:35.607Z', 'updateTime': '2025-09-23T08:10:35.607Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T08:10:28.000Z', '_widget_1744873387502': '2025-09-23T08:10:36.000Z', '_widget_1744873387504': '8', '_id': '68d255fbd3229b60812d76e5', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 16:19:15,437 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 16:19:15,568 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 16:19:15,710 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 16:19:15,834 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 16:19:15,943 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 16:19:16,078 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 16:19:16,212 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 16:19:16,306 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 16:19:20,057 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 16:19:20,398 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 16:19:20,535 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 16:19:20,683 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 16:19:20,811 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 16:19:20,941 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 16:19:21,029 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 16:19:22,767 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 16:19:22,780 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 16:19:23,006 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 16:19:23,164 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T08:19:21.959Z', 'updateTime': '2025-09-23T08:19:21.959Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T08:19:15.000Z', '_widget_1744873387502': '2025-09-23T08:19:23.000Z', '_widget_1744873387504': '8', '_id': '68d25809910f75b800a234e3', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 16:20:03,874 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 16:20:06,038 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 16:20:06,151 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 16:20:07,503 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 16:20:07,633 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 16:20:08,490 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 16:20:08,615 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 16:20:08,785 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 16:20:08,911 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 16:20:09,023 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 16:20:11,476 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 16:20:11,581 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 16:20:11,688 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 16:20:14,010 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 16:20:14,116 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 16:20:15,962 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 16:20:15,975 - api.py - task_logger - INFO - 多数据写入行数: 80
2025-09-23 16:20:16,233 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 16:20:16,380 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T08:20:15.169Z', 'updateTime': '2025-09-23T08:20:15.169Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T08:20:03.000Z', '_widget_1744873387502': '2025-09-23T08:20:16.000Z', '_widget_1744873387504': '13', '_id': '68d2583f6f80b30088af4d57', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
2025-09-23 16:22:48,406 - api.py - task_logger - INFO - 已获取 100 条数据
2025-09-23 16:22:49,971 - api.py - task_logger - INFO - 已获取 200 条数据
2025-09-23 16:22:50,081 - api.py - task_logger - INFO - 已获取 300 条数据
2025-09-23 16:22:50,237 - api.py - task_logger - INFO - 已获取 400 条数据
2025-09-23 16:22:50,355 - api.py - task_logger - INFO - 已获取 500 条数据
2025-09-23 16:23:00,420 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Read timed out. (read timeout=10), 将重新请求
2025-09-23 16:23:00,623 - api.py - task_logger - INFO - 已获取 600 条数据
2025-09-23 16:23:00,741 - api.py - task_logger - INFO - 已获取 700 条数据
2025-09-23 16:23:00,871 - api.py - task_logger - INFO - 已获取 800 条数据
2025-09-23 16:23:01,006 - api.py - task_logger - INFO - 已获取 900 条数据
2025-09-23 16:23:01,158 - api.py - task_logger - INFO - 已获取 1000 条数据
2025-09-23 16:23:01,258 - api.py - task_logger - INFO - 已获取 1100 条数据
2025-09-23 16:23:01,369 - api.py - task_logger - INFO - 已获取 1200 条数据
2025-09-23 16:23:01,489 - api.py - task_logger - INFO - 已获取 1300 条数据
2025-09-23 16:23:01,590 - api.py - task_logger - INFO - 已获取 1336 条数据
2025-09-23 16:23:01,676 - 高德匹配手机号.py - task_logger - INFO - 数据加载完成。
2025-09-23 16:24:41,650 - 高德匹配手机号.py - task_logger - INFO - 数据匹配完成。
2025-09-23 16:24:42,473 - api.py - task_logger - INFO - 多数据写入行数: 4188
2025-09-23 16:24:58,057 - 高德匹配手机号.py - task_logger - INFO - 数据上传完成。
2025-09-23 16:24:58,178 - common_module.py - task_logger - INFO - 任务状态发送成功: {'data': {'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-09-23T08:24:56.968Z', 'updateTime': '2025-09-23T08:24:56.968Z', 'deleteTime': None, '_widget_1744873387500': '2025-09-23T00:00:00.000Z', '_widget_1743644977694': '高德匹配手机号', '_widget_1744873387501': '2025-09-23T08:22:48.000Z', '_widget_1744873387502': '2025-09-23T08:24:58.000Z', '_widget_1744873387504': '130', '_id': '68d25958856a1852caa6decb', 'appId': '6694d3c4fcb69ca9a111a6c4', 'entryId': '67ede908eb9c22261016466e'}}
+211
View File
@@ -0,0 +1,211 @@
from datetime import datetime
import os
from config import Config
import pandas as pd
from back_ground_module import CommonModule
from api import API
from log_config import configure_task_logger, configure_error_task_logger
import requests
import numpy as np # 确保导入numpy(如果涉及numpy数组)
logger = configure_task_logger()
error_task_logger = configure_error_task_logger()
output_dir = "output" # 设置输出目录
os.makedirs(output_dir, exist_ok=True)
common_module = CommonModule()
api_instance = API()
class GDMatchPhoneNumber:
def __init__(self):
self.loader_company_data = None
self.fild_mapping = {
"是否已查询": "_widget_1758594869262",
"": "_widget_1758594869257",
"": "_widget_1758594869258",
"": "_widget_1758594869259",
"公司名称": "_widget_1758594869260",
"详细地址": "_widget_1758594869261",
}
self.upload_fild_mapping = {
"源文件省": "_widget_1758598285406",
"源文件市": "_widget_1758598285407",
"源文件区": "_widget_1758598285408",
"源文件地址": "_widget_1758598285409",
"源文件门店店名": "_widget_1758598285410",
"名称相似度": "_widget_1758598285411",
"地址相似度": "_widget_1758598285412",
"综合相似度": "_widget_1758598285413",
"address": "_widget_1758598285387",
"pname": "_widget_1758598285389",
"cityname": "_widget_1758598285393",
"adname": "_widget_1758598285400",
"name": "_widget_1758598285401",
"tel": "_widget_1758598285403",
"parent": "_widget_1758598285386",
"distance": "_widget_1758598285388",
"importance": "_widget_1758598285390",
"biz_ext": "_widget_1758598285391",
"biz_type": "_widget_1758598285392",
"type": "_widget_1758598285394",
"photos": "_widget_1758598285395",
"typecode": "_widget_1758598285396",
"shopinfo": "_widget_1758598285397",
"poiweight": "_widget_1758598285398",
"childtype": "_widget_1758598285399",
"location": "_widget_1758598285402",
"shopid": "_widget_1758598285404",
"id": "_widget_1758598285405"
}
def load_all_data(self):
# 获取经销商新签服务单数据
payload = {"api_key": "66f3a68c6e56814df2c6b1af",
"entry_id": "68d20734a9add4c6126ee9f2",
}
loader_company = api_instance.entry_data_list(payload)
self.loader_company_data = loader_company.get("data") # api请求格式,将数据封装在data字典里
@staticmethod
def row_to_dict(row, field_mapping):
"""将一行数据转换为指定格式的字典"""
result = {}
for col_name, widget_id in field_mapping.items():
if col_name in row:
value = row[col_name]
# 处理空数组/列表的情况
if isinstance(value, (list, np.ndarray)):
if len(value) == 0:
clean_value = None # 空数组视为None
else:
clean_value = value # 非空数组保留原值
# 处理缺失值
elif pd.isna(value):
clean_value = None
# 处理时间戳
elif isinstance(value, pd.Timestamp):
clean_value = value.strftime('%Y-%m-%dT%H:%M:%SZ')
else:
clean_value = value
result[widget_id] = {"value": clean_value}
return result
def match_phone_number(self):
# 替换列明
df = pd.DataFrame(self.loader_company_data)
reserve_mapping = {v: k for k, v in self.fild_mapping.items()}
df.rename(columns=reserve_mapping, inplace=True)
# 统计出本日查询的订单数量
count = 0
url = "https://restapi.amap.com/v3/place/text?parameters"
all_data = []
for index, row in df.iterrows():
if row["是否已查询"] == "":
continue
# 处理详细地址
cleaned = row['详细地址'].replace(row[''], '').strip()
cleaned = cleaned.replace(row[''], '').strip()
cleaned = ' '.join(cleaned.split())
row["详细地址"] = cleaned
# 特殊处理直辖市
if row[""] in ["天津市", "上海市", "重庆市", "北京市"] and row[""] == "市辖区":
row[""] = row[""]
key_words = row["公司名称"].replace("(个体工商户)", "").strip()
region = row[""]
detail_address = row["详细地址"]
def search_amap(keywords, region, page_num):
params = {
# "key": "f61b09d406ac49f8a034bf585e60c442",
"key": "273b328f2e85b7e1ad6faa0d4f33ccf2",
"keywords": keywords,
"types": "010400|010500|010800|020000|030000",
"city":region,
# "region": region,
"city_limit": "true",
"page_size": "20",
"page_num": str(page_num)
}
if count > 150:
params.update({"key": "f61b09d406ac49f8a034bf585e60c442"})
res = requests.get(url=url, params=params)
# print(res.json())
return res.json().get("pois", [])
# 初始搜索关键词
current_keywords = key_words
max_pages = 2 # 最多请求2页
for page_num in range(1, max_pages + 1):
pois = search_amap(current_keywords, region, page_num)
for poi in pois:
poi.update({"源文件省": row[""]})
poi.update({"源文件市": row[""]})
poi.update({"源文件区": row[""]})
poi.update({"源文件地址": row["详细地址"]})
poi.update({"源文件门店店名": row["公司名称"]})
all_data.append(poi)
count += 1
# 更新状态为已查询
modify_payload = {
"api_key": "66f3a68c6e56814df2c6b1af",
"entry_id": "68d20734a9add4c6126ee9f2",
"data_id": row["_id"],
"data":
{
"_widget_1758594869262": {"value":""}
}
}
# print(modify_payload)
api_instance.entry_data_update(modify_payload)
if count > 300:
break
result_df = pd.DataFrame(all_data)
return result_df
def upload_df(self, result_df):
all_data = [self.row_to_dict(row, self.upload_fild_mapping) for index, row in result_df.iterrows()] # 增量数据
payload = {
"api_key": "66f3a68c6e56814df2c6b1af",
"entry_id": "68d2148d8bcb4d1716b1c03f",
"data_list": all_data
}
api_instance.entry_data_batch_create(payload)
def main(self):
task_start_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
try:
# 获取数据
self.load_all_data()
logger.info(f"数据加载完成。")
# 根据高德api匹配手机号
result_df = self.match_phone_number()
logger.info(f"数据匹配完成。")
# result_df.to_csv(os.path.join(output_dir, "result.csv"), index=False)
# 结果上传到简道云
self.upload_df(result_df)
logger.info(f"数据上传完成。")
except Exception as e:
# common_module.send_task_error(task_start_time, "高德匹配手机号", str(e))
error_task_logger.error(f"任务高德匹配手机号执行失败。")
raise
common_module.send_task_status(task_start_time, "高德匹配手机号")
if __name__ == '__main__':
gd_match_phone_number = GDMatchPhoneNumber()
gd_match_phone_number.main()