Flask,ECharts,Mysql 8.0,Redis 5.0,热榜数据爬取工具,并通过Web端实现热点排名,热点数据爬取API 仅供开发者进行技术研究和开发测试使用。使用该 API 获取的信息仅供参考,不代表本项目对信息的准确性、可靠性、合法性、完整性作出任何承诺或保证.
先上图:蛮不错的一个毕业设计,也可以自己改造一下,用来学习用特别好。很多环节包括部署和设计的构造都是不错的学习,就是前端有点丑
克隆项目地址:
💻部署(方式一 ubuntu20.04 默认安装好了python 3.8)
💡注意:python3.8+版本 前提mysql8.0 和redis都已经安装好了哈
- 安装服务以及建立路径
mkdir -p /home/temp ;mkdir -p /data/log/temp/;cd /home/temp ;git init;git clone git@github.com:Xuenew/PyTopicsApiExplore.git
- 安装环境 (推荐用python虚拟环境) nodejs/uwsgi/nginx
apt install nodejs -y
apt install nginx -y
apt install python3.8-venv -y
python3 -m venv /home/temp/env_pytopicsapiexplore
pip install uwsgi
- 安装依赖
/home/temp/env_pytopicsapiexplore/bin/pip install -r /home/temp/PyTopicsApiExplore/rerequirment.txt
- 初始化数据库 每次热更新也会执行
/home/temp/env_pytopicsapiexplore/bin/python /home/temp/PyTopicsApiExplore/PyTopicsApiExploreInit.py
- 部署定时任务
# 热更新
*/5 * * * * /bin/bash /home/temp/PyTopicsApiExplore/hot_reload.sh
# 定时采集
*/10 * * * * /bin/bash /home/temp/PyTopicsApiExplore/hot_api_crontab.sh
部署web服务(方式1 公网) (uwsgi+nginx)
- nginx配置
cd /etc/nginx/conf.d;vim pytopicsapiexplore.conf
# 配置如下
server {
# 监听的端口号,改成什么就是用什么端口访问服务器 ,默认是80
listen 80;
# 域名或公网ip !!!注意这里要改哈
server_name your domain;
charset utf-8;
# 静态文件访问的url(此处没有)
# 发送所有非静态文件请求到flask服务器
location / {
include uwsgi_params;
uwsgi_connect_timeout 40;
# 需要与之前uwsgi配置一样
uwsgi_pass 127.0.0.1:5000;
}
}
- uwsgi配置和启动 uwsgi配置
/usr/local/bin/uwsgi --ini uwsgi.ini
- nginx 启动
service nginx restart
- 部署web服务(方式2 本地)
flask --app manage.py run -h0.0.0.0 -p5000
🛰️API文档
💡提示:也可以在manage.py的代码注释中查看接口文档
API演示:
详细可见文档PyTopicsApiExplore_Apifox.html
- 热榜数据(实时获取,ID以文档的为准)
http://127.0.0.1:5000/board_new?board_type=2&back_format=json
- 热榜数据db(redis实时获取,ID以文档的为准)
http://127.0.0.1:5000/board_new_db?board_type_lis=1,2,4&back_format=json
- 单条热榜数据排名变化
http://127.0.0.1:5000/board_hot_ranking?hot_title=冬天就在雪地里相爱&hot_type=19&hours=16&back_format=html
http://127.0.0.1:5000/board_hot_ranking?hot_title=冬天就在雪地里相爱&hot_type=19&hours=16&back_format=json
注意哈,配置文件把 config_bs.py改名为config.py
详细文档README.md
可以给个关注star