项目简介:参照喜马拉雅网页版做一个类似的听书网站。
使用技术:本项目是基于Djano框架的MTV模式进行开发,数据库采用MySQL,数据通过Scrapy爬取。
主要功能:书籍聆听、书籍管理、用户管理等。我负责整个系统的实现。具体如下:
抓包分析:对某听书网站利用浏览器调试工具进行网页调试、抓包分析,获得有声书的Ajax异步请求数据,分析得到请求地址及对应参数。其中免费资源可直接抓包获取,而VIP资源需要VIP用户的登录cookie,且只能获取到AES加密的结果,需要获取AES加密key,再使用CryptoJS解密;
数据爬取:Scrapy框架,设置随机请求头middleware,编写spider爬取书籍音频,在pipeline中使用asyncio异步存储,优化爬虫性能,最终保存到MySQL数据库中。VIP资源则需要先解密;
网页设计:从0开始写HTML,使用Bootstrap框架的排版、表格、表单等特定样式快速开发前端网页样式,运用Django框架的template来减少代码冗余,利用jQuery Ajax实现网页的局部刷新等;
后台开发:在view中编写对应的后台接口逻辑,设置url