用python实现一个百度网盘文件展示与搜索网页

事情是这样的

小D在机缘与巧合下,搞到了一个1000T(单位没错)空间百度网盘,然后开启丧心病狂的收集模式,不断的累积起数量相当可观的(学习)资料

由于经常给朋友们分享,所以兄弟姐妹七大姑八大姨就都养成了让我帮忙找课程的习惯

然后每天微信消息就炸了,通过群组分享的情况下他们也不能搜索,一个一个找的话又太费时间了

而且即使是在我自己的网盘下,这个搜索的功能也是形同虚设:

在文件量大的情况下,搜索功能也是基本没用。

本来想着分享方便大家,没想到最后差点影响自己的休息休闲了。

这时候偶尔看到有人使用网页来展示网盘里的目录和文件,搜索起来响应挺快,而且方便分享给别人,这真是一个不错的解决方案

于是乎我加到 了这个网站的管理,打算有偿使用这个网页搭建一个,省得花费时间来折腾

结果,对方张口就要3000!what??

我打开了vscode,陷入了深深的思考:我写了这个网页,是不是就相当于赚了3000块呢?

越想越兴奋,每天写一个这样的网站,我脱离贫困线还会远吗?

简单分析了一下,实现思路非常简单:从百度网盘数据库里获取数据,存到本地数据库,然后通过网页请求来查询,返回符合条件的数据给前端展示。

而且页面上的功能单一,仅仅需要展示和搜索就ok,可以使用同一个html模板文件来展示。CSS样式可以直接使用百度网盘网页版的就可以。

于是手指轻快的在键盘上跳舞,敲下了一段又一段的命令。

首先设计models的字段,仅仅保留parent_path和serverfile_name、isdir 等几个字段

然后使用命令python mange.py makemigrations 和python mange.py migrate 来完成数据库的迁移

配置项目urls.py

配置应用urls.py

定义视图views:

迁移数据库文件到网站的数据库

百度网盘客户端的目录明细都储存在一个叫BaiduYunCacheFileV0.db的sqlite数据库文件中,大概有300W+条数据,需要转入到MySQL数据库里

由于sqlite和MySQL之间语法不完全兼容,直接导出导入的方法行不通,所以还要另外写一个脚本来实现迁移,直接从旧数据库读取然后写入新数据库就解决了

最后先在本地运行测试,然后部署到服务器就可以!(部署又是另一个坑,改天再说)

来看一下效果!

体验网址在这里:https://www.excelpy.cn

最后最后,如果大家有这样的需求可以联系我哈哈哈

你可能感兴趣的:(python,后端,django,1024程序员节)