编程教育资源分享平台

网站首页 > 后端开发 正文

记录一次网盘资源不给提取码的经历!另类编程思维,Python破之!

luoriw 2024-04-04 12:52:25 后端开发 13 ℃ 0 评论

前言:

记录一次网盘资源不给提取码的经历!另类编程思维,Python破之!可能这个标题的意思不是所有人都能够理解,简单说明一下,就是好不容易在网上找资源,然而那个分享网盘的朋友忘记给提取码了......


思路:

当我说到这里的时候有人肯定在想,跑字典吗这是要。NO!

跟大家说说我的思路,既然作者有过一次分享记录,那么我猜测他肯定在别的地方也分享过,我是不是可以利用Python爬虫采集此链接?

如果有则提取该链接附近的文本进行分割。从哪分割?判断即可,是否出现 提取码、密码或者其它的字,有的话则取后面的四位,因为后四位就是提取码呀!

所以说并不能百分百的进行解密,除非是你自己把提取码丢了,否则必须该网友在其它地方也分享过此文件。



说明:

通过爬虫和用户共享的方式提供的提取码密码,经过整理,用户可以快速查询出百度云盘提取码是多少!

本站并非暴力破解方式破解提取码,由于分享文件的多变性,同时本工具也可以检测出云盘用户分享的文件是否还有效!

百度云盘提取码,快速查询!

本工具只用来作为学习和交流使用,请勿用于非法用途!

思路分析完了,然后我发现有个网站专门是做这个的,所以就直接抓它的接口拿来用了。

一个post请求,参数只有一个,就是提交网盘地址即可。但是不太稳定,容易出现500状态码(服务器错误)



GUI 的Python代码:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2019/4/5 20:09
# @Author  : 善念
import requests
from tkinter import *

root = Tk()
root.title('Author:善念')
root.geometry('+900+400')
l = Label(root, text='请在下方输入网盘地址', font=('微软雅黑', 14), fg='red').pack()
e = Entry(root, width=40, text='')
e.pack()

e1 = Entry(root, width=4)
e1.pack()


def getPwd():
    headers = {
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Connection': 'keep-alive',
        'Content-Length': '53',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Cookie': 'Hm_lvt_81c5c6d2c74d56c9ab654aec4c11e078=1586420985,1586421161,1586783021; Hm_lpvt_81c5c6d2c74d56c9ab654aec4c11e078=1586783021',
        'Host': 'tools.bugscaner.com',
        'Origin': 'http://tools.bugscaner.com',
        'Referer': 'http://tools.bugscaner.com/baiduyunpassword/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0',
        'X-Requested-With': 'XMLHttpRequest',

    }
    data = {'baiduyunurl': e.get()}
    pwd = requests.post('http://tools.bugscaner.com/api/baiduyunpassword/', data=data, headers=headers).json()['info'].split(':')[1]
    e1.insert('end', pwd)


b = Button(root, width=8, text='提取密码', command=getPwd).pack()
root.mainloop()

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表
最新留言