【天猫物流】信息批量获取与分析_影刀RPA源码解读
本项目是一个基于影刀RPA(ShadowBot)开发的自动化工具,主要用于批量获取天猫订单的物流信息。通过导入订单号列表,工具能够自动访问天猫物流详情页面,提取物流信息,并将结果保存到Excel文件中。该工具可以帮助电商运营人员、客服人员快速处理大量订单的物流查询工作,提高工作效率。
·
一、项目简介
本项目是一个基于影刀RPA(ShadowBot)开发的自动化工具,主要用于批量获取天猫订单的物流信息。通过导入订单号列表,工具能够自动访问天猫物流详情页面,提取物流信息,并将结果保存到Excel文件中。该工具可以帮助电商运营人员、客服人员快速处理大量订单的物流查询工作,提高工作效率。
二、项目结构

xbot_robot/
├── __init__.py
├── images.xml
├── imagesV2.xml
├── main.py # 项目入口文件
├── package.json
├── package.py # 包定义文件
├── package.sigstore
├── process1.py # 应用说明和配置流程
├── process11.py # 数据去重流程
├── process12.py # 物流信息提取流程
├── process16.py # 结果处理流程
├── process18.py # URL配置流程
├── process19.py
├── process20.py # 核心订单处理流程
├── process21.py # 结果写入流程
├── process22.py # 异常处理流程
├── process23.py
├── process24.py
├── process25.py
├── selectors.xml
├── selectorsV2.xml
└── settings.json
三、项目特点和核心代码
1. 交互友好的配置界面
# process1.py 中的配置对话框
pressed_button2 = xbot_visual.dialog.show_message_box(title="应用说明", message="1、请在弹出数据表格的第A列导入或输入订单号\r\n\r\n2、分析结果保存在桌面以日期时间命名的Excel文件中", buttons="确定", default_button="确定", use_wait_timeout=False, wait_seconds=None, _block=("配置信息", 1, "打开信息对话框"))
配置信息 = xbot_visual.dialog.show_custom_dialog(settings="{\"dialogTitle\":\"信息配置\",\"height\":0,\"width\":0,\"timeout\":0,\"autoCloseButton\":\"确定\",\"use_wait_timeout\":false,\"canRememberContent\":true,\"settings\":{\"editors\":[{\"type\":\"Label\",\"value\":\"请保持登陆状态直接运行程序\",\"fontFamily\":\"Microsoft YaHei UI\",\"fontSize\":20.0,\"label\":null},{\"type\":\"File\",\"label\":\"文件保存路径【默认保存至桌面】\",\"VariableName\":\"filepath\",\"kind\":2,\"filter\":\"所有文件|*.*\",\"value\":{\"VAR\":\"桌面路径\"},\"nullText\":\"请选择文件保存路径\"},{\"type\":\"DataGrid\",\"label\":\"在数据表格A列导入或写入订单编号;\",\"height\":300}],\"buttons\":[{\"type\":\"Button\",\"label\":\"确定\",\"theme\":\"red\",\"hotKey\":\"Return\"},{\"type\":\"Button\",\"label\":\"取消\",\"theme\":\"white\",\"hotKey\":\"Escape\"}]}", dialog_title="信息配置", default_btn="确定", is_auto_click=False, timeout="0", globals=globals(), locals=locals(), storage_key="64ec3c6b-1a23-41fd-b189-c11539c65b58", _block=("配置信息", 3, "打开自定义对话框"))
2. 数据去重处理
# process11.py 中的数据去重
orderList = xbot_visual.programing.databook.read_data_from_workbook(read_way="column", cell_row_num="0", cell_column_name="", area_begin_row_num="0", area_begin_column_name="", area_end_row_num="0", area_end_column_name="", row_row_num="0", get_display_text=False, has_header_row=False, column_column_name="A", _block=("数据去重", 1, "读取数据表格内容"))
xbot_visual.list.remove_duplicate(lst=orderList, _block=("数据去重", 2, "列表去重"))
xbot_visual.programing.databook.remove_all_rows()
xbot_visual.programing.databook.write_data_to_workbook(write_range="column", write_way="append", write_column_way="override", row_num="0", column_name="A", begin_row_num="1", begin_column_name="", content=orderList, _block=("数据去重", 4, "写入内容至数据表格"))
3. 核心订单处理逻辑
# process20.py 中的订单处理循环
for order, order_row, _ in xbot_visual.programing.databook.loop_data_from_workbook_with_return_item_location(loop_way="loop_row", begin_row_num="1", end_row_num="-1", begin_column_name="", end_column_name="", has_header_row=False, range_begin_row_num="0", range_begin_column_name="", range_end_row_num="0", range_end_column_name="", get_display_text=False, _block=("B 获取物流信息", 2, "循环数据表格内容")):
物流获取情况 = ""
order_id = xbot_visual.programing.databook.read_data_from_workbook(read_way="cell", cell_row_num=order_row, cell_column_name="A", ...)
if xbot_visual.workflow.test(operand1=order_id, operator="empty value", operand2="", ...):
continue
url = xbot_visual.sh_str(glv['cf_orderdetail_url']) + xbot_visual.sh_str(order_id)
try:
xbot_visual.web.browser.navigate(browser=package.variables['web_page'], mode="url", url=url, ...)
except Exception as exception2:
# 异常处理逻辑
continue
# 检查订单是否存在物流信息
order_exist = xbot_visual.process.run(process="process22", package=__name__, ...)
if xbot_visual.workflow.test(operand1=order_exist.无物流原因, operator="not empty value", ...):
# 处理无物流信息的情况
continue
try:
# 调用process12获取物流信息
_ = xbot_visual.process.run(process="process12", package=__name__, ...)
物流获取情况 = "物流信息获取成功"
except Exception as exception:
# 异常处理
# 写入物流信息到表格
xbot_visual.programing.databook.write_data_to_workbook(write_range="row", ..., content=glv['expressInfo'], ...)
四、适用场景
- 电商运营人员:批量查询订单物流状态,快速掌握订单发货情况。
- 客服人员:处理客户物流查询请求时,快速获取准确的物流信息。
- 仓库管理人员:核对订单发货状态,及时发现未发货或物流异常的订单。
- 数据分析人员:收集物流数据进行分析,优化发货流程和客户体验。
- 淘宝卖家:特别是中小卖家,节省手动查询物流信息的时间和精力。
五、常见问题与建议
1. 登录问题
问题:运行程序时提示需要登录淘宝账号。
建议:请确保在运行程序前已经登录千牛工作台或淘宝账号,并且保持登录状态。程序需要访问淘宝网页来获取物流信息。
2. 物流信息获取失败
问题:部分订单物流信息获取失败。
建议:
- 检查订单号是否正确;
- 确认该订单确实已经发货;
- 网络不稳定时可能导致获取失败,可以尝试重新运行程序;
- 如果多次尝试失败,可能是淘宝网站结构发生变化,需要更新程序中的选择器。
3. 数据表格导入问题
问题:导入订单号到数据表格时出现错误。
建议:
- 确保订单号位于表格的A列;
- 确保表格格式正确,避免包含合并单元格或特殊格式;
- 可以尝试手动输入几个订单号测试程序是否正常工作。
4. 程序运行缓慢
问题:处理大量订单时程序运行缓慢。
建议:
- 可以分批处理订单,每次处理50-100个订单;
- 确保网络连接稳定;
- 关闭其他占用网络资源的程序。
六、源码下载
- 应用市场:可在影刀RPA应用市场搜索"淘宝订单物流信息自动获取工具"进行下载安装。
- 私聊:如需定制化开发或有特殊需求,可通过私聊联系作者获取源码。
七、后续扩展方向
- 自动化报告生成:根据获取的物流信息自动生成报表,包含物流时效分析、异常订单统计等。
- 物流状态监控:实时监控物流状态,当出现异常时自动通知相关人员。
- AI辅助分析:利用AI技术分析物流数据,预测配送时间,优化库存管理。
八、相关推荐
- 作者:RPA+AI十二工作室
- CSDN博客:RPA+AI十二工作室-CSDN博客
欢迎关注我的CSDN博客,获取更多RPA自动化开发技巧和项目源码。如有问题或合作意向,可私聊我。
版权声明:本文档内容仅供学习交流使用,未经作者允许,请勿用于商业用途。
如果觉得本文对你有帮助,欢迎分享给更多朋友,关注我的CSDN博客,获取更多RPA自动化开发技巧和项目源码更新。
任何问题或建议,欢迎在评论区留言!
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐

所有评论(0)