用python制作快递查询小软件,使用Pycharm+Python+PyQt5

快递查询实现思路

  • 通过对网址http://www.kuaidi100.com/ 抓包,发现通过self.url1 = r'http://www.kuaidi100.com/autonumber/autoComNum?text={}' {}内为快递单号,通过这个链接判断可能的快递公司。
  • 通过查询出来的快递公司代码,与快递单号,拼接成网址self.url2 = r'http://www.kuaidi100.com/query?type={}&postid={}' 来查询物流信息

Pycharm+Python+PyQt5 安装和配置

Pycharm+Python+PyQt5 安装和配置

如何将PyQt(pyqt-tools)中的Qt Designer改为中文界面(汉化)

如何将PyQt(pyqt-tools)中的Qt Designer改为中文界面(汉化)

pyinstaller库的使用

https://blog.csdn.net/i_chaoren/article/details/56019823

参考

https://blog.csdn.net/weixin_41929524/article/details/81456308

代码

  • UI代码 kdcx_ui.py
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'kdcx_ui.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(756, 309)self.label = QtWidgets.QLabel(Form)self.label.setGeometry(QtCore.QRect(22, 32, 48, 20))self.label.setObjectName("label")self.lineEdit = QtWidgets.QLineEdit(Form)self.lineEdit.setGeometry(QtCore.QRect(76, 32, 256, 20))self.lineEdit.setObjectName("lineEdit")self.label_2 = QtWidgets.QLabel(Form)self.label_2.setGeometry(QtCore.QRect(22, 70, 48, 20))self.label_2.setObjectName("label_2")self.textBrowser = QtWidgets.QTextBrowser(Form)self.textBrowser.setGeometry(QtCore.QRect(76, 70, 631, 192))self.textBrowser.setLineWrapMode(QtWidgets.QTextEdit.NoWrap)self.textBrowser.setObjectName("textBrowser")self.pushButton = QtWidgets.QPushButton(Form)self.pushButton.setGeometry(QtCore.QRect(440, 30, 75, 23))self.pushButton.setObjectName("pushButton")self.pushButton_2 = QtWidgets.QPushButton(Form)self.pushButton_2.setGeometry(QtCore.QRect(560, 30, 75, 23))self.pushButton_2.setObjectName("pushButton_2")self.label_3 = QtWidgets.QLabel(Form)self.label_3.setGeometry(QtCore.QRect(80, 279, 121, 21))self.label_3.setText("")self.label_3.setObjectName("label_3")self.retranslateUi(Form)self.pushButton_2.clicked.connect(Form.close)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "快递查询"))self.label.setText(_translate("Form", "快递单号"))self.label_2.setText(_translate("Form", "查询结果"))self.pushButton.setText(_translate("Form", "查询"))self.pushButton_2.setText(_translate("Form", "退出"))
  • 快递查询实现代码 kdcx.py
from PyQt5 import QtWidgets
from kdcx_ui import Ui_Form
import requests
import jsonclass mywindow(QtWidgets.QWidget, Ui_Form):def  __init__ (self):super(mywindow, self).__init__()self.setupUi(self)self.url1 = r'http://www.kuaidi100.com/autonumber/autoComNum?text={}'self.url2 = r'http://www.kuaidi100.com/query?type={}&postid={}'self.print_context = r'公司:{}  时间: {}  内容:{}'self.pushButton.clicked.connect(self.run)def paser_url(self,url):resp = requests.get(url).content.decode()return json.loads(resp)def run(self):self.label_3.setText("查询中...")postid = self.lineEdit.text()url = self.url1.format(postid)resp = self.paser_url(url)com_code = []content_list = []if len(resp["auto"]) != 0:for gs in resp["auto"]:com_code.append(gs["comCode"])if len(com_code) == 0:passelse:for com in com_code:url2 = self.url2.format(com,postid)resp2 = self.paser_url(url2)if resp2["status"] == '200':for i in range(len(resp2["data"])-1,-1,-1):content = self.print_context.format(resp2["com"],resp2["data"][i]["ftime"],resp2["data"][i]["context"])content_list.append(content)content_list.append("*"*100)content_list.append("*" * 100)if len(content_list) == 0:content_list.append("单号错误,或订单过期,找不到数据!")self.textBrowser.setText("\n".join(content_list))self.label_3.setText("查询完成!")if __name__=="__main__":import sysapp=QtWidgets.QApplication(sys.argv)ui = mywindow()ui.show()sys.exit(app.exec_())

python制作快递查询小软件相关推荐

  1. Python制作快递查询系统

    代码 import json from tkinter import * import requests def getType(postId):url='http://www.kuaidi100.c ...

  2. python快递费用计算_Python制作快递查询系统,来感受到了Python的强大!

    原标题:Python制作快递查询系统,来感受到了Python的强大! 导语 今天来做个简答的python案例,利用Python制作一个简单的快递查询系统. 让我们愉快地开始吧~ 开发工具 Python ...

  3. python天气查询运行过程_菜鸟玩Python|制作天气查询软件

    原标题:菜鸟玩Python|制作天气查询软件 开发环境 Python3 PyQt5 requests 准备工作 首先要获取不同城市对应的天气代码,可以从 https://www.heweather.c ...

  4. 微信小程序入门--快递查询小程序的制作

    最近在自学微信小程序开发,做了一个很垃圾的快递查询小demo,记录一下(=^ ^=) 开发前准备:微信开发者工具.快递查询的接口 我用的快递查询接口是聚合数据的,地址如下https://www.juh ...

  5. python制作电脑软件_利用PYTHON制作桌面版爬虫软件(二)

    今天继续新的专题.主要讲解[利用PYTHON制作桌面版爬虫软件]下的如何实现界面功能(一).该讲主要包括以下三个内容:掌握如何编写主函数,运行界面. 了解pywin32模块. 如何用python识别Q ...

  6. 利用python制作加固肋计算软件

    <python制作加固肋计算软件> 制作人: 华北龙虎电王 时间: 2020 目录 逻辑.py 界面.py 示例: import sys import os, sys import mat ...

  7. python英语翻译-python制作英语翻译小工具代码实例

    这篇文章主要介绍了python制作英语翻译小工具代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用python爬虫可以制作英语翻译小工具.来 ...

  8. 【源代码】Python制作的赛车小游戏,逆行飙车

    python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...

  9. Python制作的赛车小游戏源代码,逆行飙车

    python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图: 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...

最新文章

  1. MySQL索引背后的数据结构及算法原理【转】
  2. C语言,C#,Java,JavaScript之强类型与弱类型
  3. 磁盘分析工具Ncdu的简单使用和体验
  4. 划重点!《企业数字化升级之路》白皮书讲了哪些干货?
  5. python epoll 并发_Python语言之python并发原理(阻塞、非阻塞、epoll)
  6. 反向传播算法最全解读,机器学习进阶必看!
  7. 深入浅出 MySQL 优先队列
  8. [SQL] 常用查询脚本
  9. 中国联通辟谣“不支持华为”:恶意诽谤 将通过法律手段维护权益
  10. 【Iterm2】如何解决iterm2窗口自动隐藏的问题
  11. php面试题之四——Linux部分(高级部分)
  12. html背景纯白,纯白色背景图片全白
  13. 斐讯N1盒子 TTL救砖教程
  14. PROFINET非周期读写分析笔记
  15. 【不三不四的脑洞】“被相亲对象拉黑“所引发的关于链表合并算法的思考
  16. Excel 公式学习笔记:分数排名 + 评级
  17. win10小课堂:如何解决svchost一直占用网速和内存?
  18. 跟着小马哥学系列之 Spring AOP(AbstractAutoProxyCreator 详解)
  19. 正则车牌号和新能源车牌
  20. Word学习笔记分享

热门文章

  1. 微软欲以500亿美元收购雅虎
  2. 2019-11-22 C++17filesystem相关问题解决
  3. 人工智能常用的5种语言
  4. Jboss 4.2.3配置与优化
  5. 杰理之修改PID和VID【篇】
  6. Spring的Bean的自动装配属性autowire
  7. 竣达技术 | 8路IO模块模拟量采集 通讯信号检测 继电器输出控制 可接入漏水和声光
  8. win10 hyper-v 虚拟机,安装Liunx
  9. linuxping百度未知的名称或服务_皇牌空战7:未知空域(射击游戏)——电脑单机游戏推荐心得攻略免费体验分享下载...
  10. 植物大战僵尸:寻找阳光掉落Call