客服如何批量查询物流单号的物流情况?今天拿邮政距离
- 工作日记
- 2025-10-23
- 63热度
- 0评论
客服批量查询物流单号,告别一个个的手动去查询,今天做个脚本,一键查询excel里所有的物流单号!

我们用到的是api接口->再用python进行对接,后门自己可以打包成应用,或者是二次开发处理物流信息等等
我们今天是把物流信息查询出来后,直接再次写入事先读取的excel中。
python代码如下:
# 物流查询——中国邮政包裹
import urllib.request
import json
from openpyxl import load_workbook
import time
def query_post_logistics(tracking_number):
"""查询中国邮政包裹物流信息"""
url = f"http://www.xxxxxx.com/query?type=youzhengguonei&postid={tracking_number}"
headers = {"User-Agent": "Mozilla/5.0"}
try:
req = urllib.request.Request(url, headers=headers)
with urllib.request.urlopen(req, timeout=10) as response:
data = json.loads(response.read().decode('utf-8'))
if data.get('status') == '200' and 'data' in data:
# 打印原始数据(调试用)
print(f"✅ 查询成功:{tracking_number}")
detail_list = [
f"{item['time']} - {item['context']}"
for item in data['data']
]
return "有", "\n".join(detail_list)
else:
print(f"❌ 查询失败:{tracking_number} -> {data.get('message', '无信息')}")
return "无", f"查询失败:{data.get('message', '无信息')}"
except Exception as e:
print(f"⚠️ 查询异常:{tracking_number} -> {e}")
return "无", f"查询异常:{e}"
def update_excel(file_path):
"""逐条写入Excel,每查一条即保存"""
wb = load_workbook(file_path)
ws = wb.active # 默认第一个sheet
for row in ws.iter_rows(min_row=2): # 从第二行开始,跳过表头
tracking_number = str(row[0].value).strip() if row[0].value else ""
if not tracking_number:
continue
print(f"\n🚚 正在查询:{tracking_number}")
status, detail = query_post_logistics(tracking_number)
row[1].value = status # 第二列:有/无
row[2].value = detail # 第三列:详细物流信息
# 每查一个就保存,防止中途出错丢失
wb.save(file_path)
print(f"💾 已保存:{tracking_number}")
# 控制请求频率,防止被封
time.sleep(1.5)
print("\n✅ 全部查询完成,结果已写入 Excel。")
# 示例:修改为你的Excel文件路径
update_excel("邮政更新10月(2).xlsx")备注:
这里的接口用到的kuaidi100,在这个python文件下我们还需要准备一个“邮政更新10月(2).xlsx”这个excel文件,文件的内容布局如下:
| 快递单号 | 是否有物流信息 | 具体的物流信息 |
| 9xxxxx(这里是单号) | 有/无(根据查询到的自动写入有或者无) | (这里会自动写入物流信息) |
除了第一个物流单号是自己贴进去,后门的都会根据实际查询结果进行填补,代码里有逻辑处理部分,可以在保存每个查询结果的时候进行二次处理,这里可以增加更多的对于物流信息的处理。剩下的就交给小伙伴儿们了!!!
如果你是客服或小白?不懂怎么使用可以通过个人介绍联系辉哥帮忙!
加辉哥请备注原由!
