抓取云盘万能钥匙接口

今天心情不是很好,只能找找看有没有特别嘉宾让我解闷一下。
hey,还真有……

前言

先送上这位特别嘉宾
云盘万能钥匙
官方介绍

过程

首先f12一波可得到类似以下链接

1
http://ypsuperkey.meek.com.cn/api/items/BDY-jIvuPA?access_key=4fxNbkKKJX2pAm3b8AEu2zT5d2MbqGbD&client_version=web-client&1553997935000

然后发现它竟然还有效果测试页面
真是事半功倍啊!直接饮用它给出的有效链接和无效链接
得到下列结果
有效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
"_id": "59f1e62f127b1e1479227812",
"type": "BDY",
"pid": "bJ1kWQ",
"access_code": "bmxd",
"updated_at": "2019-02-11 13:35:16",
"created_at": "2017-10-26 21:42:07",
"referrer": {
"b0c4f4c136309b565f6e8695660d852e": {
"url": "http://ypsuperkey.meek.com.cn/changelog",
"title": "更新记录 - 云盘万能钥匙"
},
"5ab0c52b2793ca341311eebdbcebc329": {
"url": "https://ypsuperkey.meek.com.cn/",
"title": "undefined"
},
"c08fa55299fcf14d8bb34f43f8ee2bd5": {
"url": "http://www.ypsuperkey.com/changelog",
"title": "更新记录 - 云盘万能钥匙"
},
"1e70faa0bea9e9d2d593e5c02012cd53": {
"url": "https://www.ypsuperkey.com/changelog",
"title": "更新记录 - 云盘万能钥匙"
},
"fbe4023dc3be452c96a491f4621926f0": {
"url": "http://www.sdbeta.com/wg/2017/1214/216884.html",
"title": "云盘万能钥匙2018中文版下载|云盘万能钥匙Chrome插件(云盘精灵)2018.7官方最新免费版-闪电下载吧"
},
"18ddf2ba0092217b59726b053d7a4155": {
"url": "https://pan.baidu.com/",
"title": "undefined"
},
"059bdc2b679b68115940182f3236af37": {
"url": "https://passport.baidu.com/phoenix/account/afterauth?mkey=phoenix7vVmbiNJB2s3mXPfDxgCu1OJq&code=5B1A27CDCCFFD6A9A8F286072FA9C92C&state=1540104171",
"title": "undefined"
},
"ac8a76f77410275d09f32b225ae164e4": {
"url": "https://www.sdbeta.com/wg/2017/1214/216884.html",
"title": "云盘万能钥匙2018中文版下载|云盘万能钥匙Chrome插件(云盘精灵)2018.11官方最新免费版-闪电下载吧"
},
"ffc813f1cd45b9bc3e728be475051ef7": {
"url": "https://passport.baidu.com/phoenix/account/afterauth?mkey=6cf164dae22edd88d53e0223e155c9a7ba4ce5&state=1545381242&code=7c6760881fce4e5608fd76a69c79bb71",
"title": "undefined"
},
"2a87808c5df463941e04487adbd5d2e3": {
"url": "https://d.appinn.com/toastcode-screener/",
"title": "undefined"
},
"ed31984969c2818ff635281343f5da67": {
"url": "https://d.appinn.com/",
"title": "undefined"
}
},
"state": "VALID",
"invalid_count": 0
}

无效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"_id": "5a1ea43d127b1e51e9408dc5",
"type": "BDY",
"pid": "dtT3i7y",
"referrer": {
"35ce4c2dc24c5b82c247c7a4cca058a4": {
"url": "http://ypsuperkey.meek.com.cn/test",
"title": "测试页面 - 云盘万能钥匙"
},
"3d1351b4e3f993f128651e0fd8d3dd50": {
"url": "http://ypsuperkey-dev.meek.com.cn/test",
"title": "测试页面 - 云盘万能钥匙"
},
"ea7d6eaf87f10f95422c93127b0711cf": {
"url": "http://www.ypsuperkey.com/test",
"title": "测试页面 - 云盘万能钥匙"
},
"cd7246ff5911fda5ea72f4a4684a564b": {
"url": "https://ypsuperkey.meek.com.cn/test",
"title": "测试页面 - 云盘万能钥匙"
},
"a60543ee761acc38b7c94e0fd9dff21b": {
"url": "http://ma.ttfak.com/test/",
"title": "测试页面 - 云盘万能钥匙"
},
"abcf4a784a658f5a2de7e2ab4dc68254": {
"url": "http://ypsuperkey.meek.com.cn/",
"title": "undefined"
}
},
"updated_at": "2019-03-31 08:37:14",
"created_at": "2017-11-29 20:12:45",
"state": "INVALID",
"invalid_count": 0
}

通过观察可以发现state状态码,判断资源是否有效,access_code资源密码

接口

接口如下

1
"http://ypsuperkey.meek.com.cn/api/items/BDY-"+pid+"?access_key=4fxNbkKKJX2pAm3b8AEu2zT5d2MbqGbD&client_version=web-client&1553997935000"

最后的那串数字似乎是时间戳,不过似乎没多大影响,先不鸟它
那只剩下一个变量,pid
pid是什么呢?经观察发现是这样的

1
2
https://pan.baidu.com/s/1qYLrSOs
https://pan.baidu.com/s/pid

有了这些东西,再看看接口,没有跨域请求头,就不能用网页,只能用python了。

python代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import requests
import json

while True:
while True:
url = input("请输入正确的百度网盘分享链接:")
if url.find("1") != -1:
pid = url[url.find("1")+1:]
break
elif url.find("=") != -1:
pid = url[url.find("=")+1:]
break
url1 = "http://ypsuperkey.meek.com.cn/api/items/BDY-" + pid + "?access_key=4fxNbkKKJX2pAm3b8AEu2zT5d2MbqGbD&client_version=web-client&1553997935000"
res = requests.get(url1)
data = json.loads(res.text)
state = data["state"]
if state == "INVALID":
print("啊欧!该链接暂时找不到密码!")
elif state == "VALID":
print("\n链接:%s\n密码:%s" % (url,data["access_code"]))
print("Ctrl + C 退出!")

满分是10分的话,这篇文章你给几分,您的支持将鼓励我继续创作!