今日热榜是一个获取各大热门网站热门头条的聚合网站,使用Go语言编写,多协程异步快速抓取信息,预览:https://www.printf520.com/hot.html
-
编译
cd {root_path} # 项目根目录 go build -o ./App/GetHot App/GetHot.go go build -o ./App/Server App/Server.go
-
创建数据库,如
news
,执行database.sql创建表,更改配置文件Config/mysql.toml
-
编辑文件
Html/js/blog/globalConfig.js
const ServerIp = 'http://{your_domain}:9090' // 替换成服务器域名
-
部署定时任务/App/GetHot.go爬虫程序,且以守护进程的方式执行Server.go
crontab -e # 添加一行 0 */1 * * * {root_path}/App/GetHot nohup {root_path}/App/Server &
-
测试
- 打开
http://{yourdomain}:9090/
即可访问今日热榜
- 打开
TopList/
├── App
│ ├── GetHot.go 爬虫程序需要Cron定时任务执行
│ └── Server.go Server程序需要守护进程的方式执行
├── Common
│ ├── Db.go DB组件
│ └── Message.go
├── Config
│ ├── MySql.go mysql配置读取组件
│ └── mysql.toml mysql配置文件需要手动配置
├── Cron
│ ├── GetHot.sh 爬虫Cron程序可以是每小时执行一次
│ └── README.md
├── database.sql 数据库建表文件
├── Html
│ ├── css
│ ├── hot.html 前端热榜展示网页
│ └── js
│
└── README.md
- Method: GET
- URL:
https://www.printf520.com:8080/GetType
- Param:无
- Body:
{
"Code":0,
"Message":"获取数据成功",
"Data":[
{"id":"1","sort":"63908","title":"知乎"},
{"id":"2","sort":"21912","title":"虎扑"},
{"id":"6","sort":"11707","title":"天涯"},
{"id":"7","sort":"12546","title":"知乎日报"},
]}
- Method: GET
- URL:
https://www.printf520.com:8080/GetTypeInfo?id=2
- Param:id
- Body:
{
"Code":0,
"Message":"获取成功",
"Data":[
{
"title":"
45个经典面试回答提示,分享给即将工作的大家。 zt
",
"url":"https://bbs.hupu.com//28814429.html"
},
{
"title":"
[名场面]回家的诱惑:洪世贤酒店幽会,抵不住诱惑犯了错! zt
",
"url":"https://bbs.hupu.com//28818367.html"
},
{
"title":"
张艺兴回应假唱风波。ZT
",
"url":"https://bbs.hupu.com//28815609.html"
}
]
}
- fork 项目
- Fork 本项目
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request