学习Golang时使用Colly的crawler web开发
#go #nginx #crawler #colly

我想推荐我在Golang学习期间创建的网站。
我的网站http://techdaily.info用于学习Golang语言。
除了爬行dev.to,我还爬行了其他一些网站,例如freecodecamp.com,edimpor.com,hashnode.com,logrocket.com,infoq.com
因此,我建立了一个专门爬行其他网站的网站
我使用的一些技术。

  • Golang
  • colly
  • iin
  • 服务
  • Docker
  • mysql
  • 运行动作部署到服务器
  • cronjob每日爬网

构建本地运行

将文件app_example.yaml更改为app.yaml

cp app_example.yaml app.yaml

构建Docker

docker-compose up --build

安装软件包Golang

docker-compose exec crawl go mod tidy

文件夹供应商

docker-compose exec crawl go mod vendor

爬行

docker-compose exec crawl go run cmd/main.go

使用空气自动加载

docker-compose exec crawl air -c .air.conf

部署

运行文件makefile构建项目进入文件夹箱

make copy_template build_app_web build_app_crawl

在后台运行中创建服务

创建服务并运行应用网络

sudo nano /lib/systemd/system/app_web.service

复制内容

[Unit]
Description=App Web

[Service]
Type=simple
Restart=always
RestartSec=5s
WorkingDirectory=/root/actions-runner/crawl/crawl/crawl/bin
ExecStart=/root/actions-runner/crawl/crawl/crawl/bin/app_web

[Install]
WantedBy=multi-user.target
sudo systemctl enable app_web
sudo systemctl start app_web
sudo systemctl status app_web

运行应用程序爬网

./app_crawl

添加crontab

crontab -e

添加克朗时间

*/60 * * * * /root/actions-runner/crawl/crawl/crawl/bin/app_crawl crawl-article
*/20 * * * * /root/actions-runner/crawl/crawl/crawl/bin/app_crawl crawl-article-detail

重新加载克朗跑

sudo service cron reload

网站

http://techdaily.info/


"Buy Me A Coffee"

https://github.com/chieund/crawl