吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6685|回复: 30
收起左侧

[Python 转载] python 快递100 查询 源码

[复制链接]
E飞翔 发表于 2018-11-16 13:51
以前用易语言写过这个post,今天用python实现一下。

刚学习python不久,慢慢来吧。

[Python] 纯文本查看 复制代码
import requests
import json
import re
import pprint

class EXPRESS100:

    postID = ''

    def __init__(self,data):
        self.postID = data


    def getPostMsg(self):
        url_json = self.geturl()
        url_json_num = len(url_json)

        """ 检测出正确的快递公司 """
        for i in range(url_json_num):

            url = 'http://www.kuaidi100.com/query'
            data = {
                'type' : url_json[i]['comCode'],
                'postid' : self.postID,
                'temp' : '0.916395518853228'
            }

            res = requests.get(url,params=data).text
            pMsg = re.findall(r'message\":\"(.*?)\"',res)[0]
            if pMsg =='ok':
                right_data = re.findall(r'data\":(.*?\])',res)[0]

                return right_data   #得到快递信息,可以自行解析list


    def geturl(self):
        url = 'http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text=' + self.postID
        header = {
            'Referer':'http://www.kuaidi100.com/',
            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
            'X-Requested-With':'XMLHttpRequest'
        }
        datas = {
            'resultv2':'1',
            'text':self.postID
        }

        res = requests.post(url,headers=header,data=datas).text
        data = re.findall(r'auto":(.*?\])',res)[0]
        data_json = json.loads(data)
        return data_json

if __name__ =='__main__':

    p = EXPRESS100('4000000705')    #输入快递单号
    res = p.getPostMsg()
    pprint.pprint(res)


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

fanai 发表于 2018-11-16 15:08
楼主后面可以不用正则表达式的,可以直接用res.json()返回json数据,这样返回的数据更方便漂亮。

[Python] 纯文本查看 复制代码
{                                                                               
   "status": "200",                                                             
   "data": [                                                                    
      {                                                                         
         "ftime": "2018-11-14 08:18:58",                                        
         "location": "",                                                        
         "context": "快件在【石岐】被签收,签收人:【图片签收】",                                    
         "time": "2018-11-14 08:18:58"                                          
      },                                                                        
      {                                                                         
         "ftime": "2018-11-14 08:05:14",                                        
         "location": "",                                                        
         "context": "到达【石岐】【电话:076088806393】",                                  
         "time": "2018-11-14 08:05:14"                                          
      },                                                                        
      {                                                                         
         "ftime": "2018-11-14 07:49:11",                                        
         "location": "",                                                        
         "context": "快件在【石岐】卸车,上一站是【虎门分拨中心】,扫描员是【板芙晚班】",                        
         "time": "2018-11-14 07:49:11"                                          
      },                                                                        
      {                                                                         
         "ftime": "2018-11-13 23:55:30",                                        
         "location": "",                                                        
         "context": "离开【虎门分拨中心】发往【沙溪中班】",                                       
         "time": "2018-11-13 23:55:30"                                          
      },                                                                        
      {                                                                         
         "ftime": "2018-11-13 23:55:27",                                        
         "location": "",                                                        
         "context": "到达【虎门分拨中心】",                                               
         "time": "2018-11-13 23:55:27"                                          
      }                                                                         
   ],                                                                           
   "state": "3",                                                                
   "ischeck": "1",                                                              
   "message": "ok",                                                             
   "com": "jinguangsudikuaijian",                                               
   "nu": "4000000705",                                                          
   "condition": "F00"                                                           
}                                                                               
Noway28 发表于 2018-11-16 14:00
sailor291 发表于 2018-11-16 14:09
头像被屏蔽
chenxingg 发表于 2018-11-16 14:10
提示: 作者被禁止或删除 内容自动屏蔽
ytdzjun 发表于 2018-11-16 14:15
借鉴一下,准备去扒一些数据,谢谢分享
 楼主| E飞翔 发表于 2018-11-16 14:16

当然可以
servicelabs 发表于 2018-11-16 14:23
谢谢分享,已收藏!
huxianfangyuan 发表于 2018-11-16 14:46
感谢分享,学习了。
56359Soap 发表于 2018-11-16 14:47
谢谢分享,已收藏!
yangkaicheng 发表于 2018-11-16 15:04
一条POST搞定
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 03:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表