基于爬虫的快递信息查询的图形用户界面

基于爬虫的快递信息查询的GUI

#第一次写博客,哎呀,我都想象到以后工作的日子了。颤抖的心,激动的手。
#话不多说,先上代码

import tkinter as tk
import requests
import json
#from PIL import ImageTk as itk
class MyFrame(Frame):
    def __init__(self):
        self.root = Tk()

        self.root.title("快递查询")
        self.root.geometry('1200x700+400+220')

        self.goods = Entry(self.root, width=16, font=("仿宋", 18, "normal"))
        self.goods.place(x=200, y=60)
        self.goods_id = Entry(self.root, width=16, font=("仿宋", 18, "normal"))
        self.goods_id.place(x=600, y=60)
        goodslabel = Label(self.root, text='查询快递公司', font=("仿宋", 18, "normal"))
        goodslabel.place(x=40, y=60)
        goods_idlabel = Label(self.root, text='查询快递单号', font=("仿宋", 18, "normal"))
        goods_idlabel.place(x=450, y=60)
        # 查询按钮
        chaxun = Button(self.root, width=10, height=3, text="查询", bg='#00CCFF', bd=5, font="bold")
        chaxun.bind("<Button-1>", self.search)
        chaxun.place(x=1000, y=50)
        self.result = Listbox(self.root, heigh=18, width=65, font=("仿宋", 20, "normal"))  # 显示快递框
        self.result.place(x=125, y=120)
    def kuaidi(self,goods,goods_id):
        print('请输入所要查询快递公司:')
        print('请输入所要查询快递单号:')
        goodstype=goods
        goods_id=goods_id
        a='查询的快递单号为' + str(goods_id)
        self.result.insert(END, a)
        b='其快递物流信息如下'
        self.result.insert(END, b)
        url='http://www.kuaidi100.com/query?type=%s&postid=%s' % (goodstype, goods_id)
        #print(url)
        #self.result.insert(END, url)
        rs = requests.get(url)
        kd_info = json.loads(rs.text)
        data = kd_info['data']
        for data_dict in data:
            time = data_dict['time']
            context = data_dict['context']
            self.result.insert(END, time)
            self.result.insert(END, context)
    def search(self,event):
        mygoods=self.goods.get()
        mygoods_id=self.goods_id.get()
        if(mygoods!=''):
            #self.result.delete(0,END)
            #self.goods.delete(0,END)
            self.kuaidi(mygoods,mygoods_id)
if __name__=='__main__':
    myframe=MyFrame()
    myframe.root.mainloop()

运行代码效果图如下
在这里插入图片描述下面介绍这个项目项目需要注意的几点

  1. 首先必须是正在运送的快递,而且得知道快递公司的名称
  2. 通过抓包分析出其url,解析出快递公司必须是公司拼音,比如是韵达是yunda。
  3. 该GUI没有一个重置的按钮,其实当时我想到了。但是balebalebale,所以最后没有实现。
  4. 这个GUI框架是我之前做天气预报时用的,然后基本上没有改变。
    最后,希望我们每一个人都可以找到对编程的兴趣!!!!!
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值