鱼C论坛

 找回密码
 立即注册
查看: 833|回复: 4

关于顺丰快递单验证吗,拖拽重合的那种,大致用那个模块解决

[复制链接]
发表于 2019-2-25 21:58:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Stubborn 于 2019-2-26 02:28 编辑

关于顺丰快递单验证吗,拖拽重合的那种,大致用那个模块解决,自己想弄个查快递的,有木有源码或者什么,没有的话告诉我顺丰的怎么解决验证码


  1. import requests
  2. #查询首次请求 POST
  3. # resultv2: 1
  4. # text: 1202752875967
  5. #url = "https://www.kuaidi100.com/autonumber/autoComNum?"
  6. #数据返回 GET
  7. # type: yunda
  8. # postid: 1202752875967
  9. #url2 = "https://www.kuaidi100.com/query?"

  10. def check(text):
  11.     headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64)"}
  12.     data = {'resultv2': "1", "text": text}
  13.     url = "https://www.kuaidi100.com/autonumber/autoComNum?"
  14.     reponse = requests.post(url=url, data=data,headers=headers)
  15.     type = reponse.json()['auto'][0]['comCode']
  16.     def login(text,type):
  17.         url = "https://www.kuaidi100.com/query?"
  18.         params = {
  19.             'type': type,
  20.             'postid': text
  21.         }
  22.         reponse = requests.get(url=url,params=params)
  23.         for each in reponse.json()['data']:
  24.             print(each['context'],end='')
  25.             print(each['ftime'])
  26.     return login(text,type)

  27. if __name__ == '__main__':
  28.     text = input('请输入需要查询的快递单号')
  29.     check(text)
复制代码
  1. import json,requests
  2. import random

  3. def searchPackage(dh):
  4.     state={
  5.     '0':'在途',
  6.     '1':'揽件',
  7.     '2':'疑难',
  8.     '3':'签收',
  9.     '4':'退签',
  10.     '5':'派件',
  11.     '6':'退回',
  12.     }   
  13.     #请求头
  14.     head = {
  15.     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'
  16.     }


  17.     packageNum = dh
  18.     url1 = 'http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text=' + packageNum
  19.     #用url1查询运单号对应的快递公司,如中通,返回:zhongtong。
  20.     try:
  21.         companyName = json.loads(requests.get(url1, headers=head).text)['auto'][0]['comCode']
  22.     except Exception as e:
  23.         time = ''
  24.         context = ''
  25.         tracking = ''
  26.         carrier = '单号异常'
  27.     else:
  28.         #在用url2查询和运单号、快递公司来查询快递详情,结果是一个json文件,用dict保存在resultdict中。
  29.         url2 = 'http://www.kuaidi100.com/query?type=' + companyName + '&postid=' + packageNum
  30.         jsonContext = json.loads(requests.get(url2, headers=head).text)
  31.         try:
  32.             time = jsonContext['data'][0]['time']
  33.             context = jsonContext['data'][0]['context']
  34.             tracking = state[jsonContext['state']]
  35.             carrier = jsonContext['com']
  36.         except Exception as e2:
  37.             time = ''
  38.             context = ''
  39.             tracking = ''
  40.             carrier = '查无记录'

  41.     finally:
  42.         print(dh,end="      ")      
  43.         print(carrier,end="       ")
  44.         print(time,end="    ")
  45.         print(tracking,end="    ")
  46.         print(context)



  47. while True:
  48.     odd = input("请输入运单号,存在多条运单号时使用','进行分隔:\n").split(',')
  49.     if odd:
  50.         print('快递单号           快递公司    最后时间               状态    地点和跟踪进度')
  51.         for i in odd:
  52.             if i != '':
  53.                 searchPackage(i)
  54.         again = input("\n\n\n查询结束,按'Q'键再次查询,其余任意键退出:\n")
  55.         if again == 'Q':
  56.             break
  57.         else:
  58.             continue
  59.     else:
  60.         break

  61. print("GoodBye")

  62. input("按任意键关闭")
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-2-25 23:43:37 | 显示全部楼层
手头上没有顺丰的快递号。  
就不进行测试了。  
就讲一下原理吧。   

这是js代码的事件的逻辑  
鼠标点击 onclick
鼠标按住不放  onkeypress
鼠标移动像素   onmousemove   
松开鼠标  onkeyup  

你先观察上面动作在network中的变化。  
再去想办法破解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-26 00:00:20 | 显示全部楼层
又要被审核,好烦。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-26 00:46:21 | 显示全部楼层
wongyusing 发表于 2019-2-26 00:00
又要被审核,好烦。

老大,你做什么了,开车了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-27 02:39:11 | 显示全部楼层
wongyusing 发表于 2019-2-25 23:43
手头上没有顺丰的快递号。  
就不进行测试了。  
就讲一下原理吧。   

我发现一个简单的处理,不算爬顺丰站,通过快递100,查询,有寄件和收件手机后四位号码就可以直接查询,所以直接偷懒了。唯一不好,物流跟新不是那么快
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-14 04:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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