Python—10行代码查快递

作者: Sunflow007 | 来源:发表于2020-03-03 22:59 被阅读0次
    5.jpg

    老鸟勿入,适合新人练手。


    原谅我标题党的行为....不过整个程序代码确实是10行,(#注释的除外?)因为经常查快递,所以有了想法写了这段小代码~代码很简单,也没有加异常处理和其他功能。

    整个程序只需用到了两个库:json和requests。调用的是快递100-查快递,寄快递,上快递100的api。

    代码如下:

    import json,requests
    def searchPackage():
        #输入运单号码,注意,只有正在途中的快递才可以查到!
        packageNum = input('请输入运单号码:')
        url1 = 'http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text=' + packageNum
        #用url1查询运单号对应的快递公司,如中通,返回:zhongtong。
        companyName = json.loads(requests.get(url1).text)['auto'][0]['comCode']
        #在用url2查询和运单号、快递公司来查询快递详情,结果是一个json文件,用dict保存在resultdict中。
        url2 = 'http://www.kuaidi100.com/query?type=' + companyName + '&postid=' + packageNum #还有个temp字段加不加都可以。如:'&temp=0.9829438147420106'
        print('时间↓                             地点和跟踪进度↓\n')
        for item in json.loads(requests.get(url2).text)['data']:
            print(item['time'],item['context'])
    searchPackage()
    

    效果截图:

    image

    有很多网站都可以用api来调取数据,譬如车票、机票、快递、豆瓣、网易...

    用Python写一个爬虫很简单,可要想把爬虫代码写好却没那么简单,因为要学的还有很多~

    譬如你爬取到的数据要用数据库存储吧(Mysql、MongoDB、redis、oracle...)

    譬如你爬取海量数据时单机爬取太慢了,你要学多进程、多线程、协程、分布式。。。

    譬如你爬取速度太快,总是被网站监测到,限制访问、封ip啊,于是你需要购买代理ip或者自己打造一个免费ip池。

    譬如你觉得现有的爬虫框架如Scrapy太臃肿,需要自己部分改造一下,手写个爬虫框架。。。


    然而,爬虫只是Python的一个方向而已,比较适合入门。还可以用Python来做web后端开发,譬如Flask、Django;还可以用Python进行数据分析、数据挖掘、机器学习.....

    然而,Python也只是一个编程工具而已....

    相关文章

      网友评论

        本文标题:Python—10行代码查快递

        本文链接:https://www.haomeiwen.com/subject/vytrlhtx.html