完整的go爬虫项目

怎甘沉沦 提交于 2019-12-06 02:35:05

项目介绍

最近沉迷于古诗文的阅读上,细品其中,沉迷其中.
但平时阅读上感觉还是不大方便,故此有这个项目.
项目中尽可能的保留了自己在Java上的一些编码习惯,
如三层结构:model层 service层,controller层,贴近实际工作开发需要.
希望可以对目前为Java开发者有需要转向go的朋友提供一个参考.
如果该项目对您有帮助,请给一个star吧.

技术选型

项目结构

poem-parent
|-- poem-api            实体类模块
|   |-- common          公共工具
|   |   `-- base        基础工具
|   `-- module          业务模块
|       `-- core
|-- poem-core           后台核心模块
|   |-- common          公共工具
|   |   |-- base        基础工具
|   |   |-- log         日志工具
|   |   `-- pinyin      拼音转换工具
|   |-- conf            配置文件
|   |-- module          业务模块            
|   |   `-- core
|   `-- test
|       `-- bson
|-- poem-spider         爬虫模块
|   |-- common          公共工具              
|   |   `-- base        基础工具
|   |-- conf            配置文件
|   |-- launch          爬虫启动类
|   `-- module          业务模块
|       `-- gushiwen
`-- poem-web            http服务模块
|    |-- common         公共工具
|    |   |-- base       基础工具
|    |   |-- fliters    过滤器        
|    |   `-- routers    路由配置
|    |-- conf           配置文件
|    |-- module         业务模块
|    |   |-- core
|    |   |-- index
|    |   `-- spider
|    `-- test

模块依赖

模块名 依赖模块
poem-api
poem-core poem-api
poem-spider poem-api oem-core
poem-web poem-api poem-core poem-spider

实现功能

  • 诗人数据的获取

  • 诗句数据的获取

  • 古籍数据的获取

  • 名句数据的获取

  • http api 分页接口提供

    项目为一次尝试转换练习,主要是将java的编写习惯尝试转换到go的开发上.仅作学习参考使用.
    

功能计划

  • 完善后台api提供
  • 对接flutter版的poem-app

使用教程

  • 配置环境

    • 安装 go
      • 配置GOPATH
    • 环境变量
    变量名称=值 说明
    GO111MODULE=on 开启go mod模块支持
    GOPROXY=https://goproxy.cn,direct 依赖包下载代理地址
    GOSUMDB=sum.golang.google.cn 包的哈希值校验地址
  • 导入项目到JetBrains GoLand并启用go mod

  • 下载资源包

      cd ./poem-api && go mod tidy
      cd ../poem-core && go mod tidy
      cd ../poem-spider && go mod tidy
      cd ../poem-web && go mod tidy
    
  • 手动创建数据库

    数据库名为: poem

  • 配置数据库连接

    • 各模块的conf下的 mysql.ini文件修改配置
      • ./poem-core/conf/mysql.ini
      • ./poem-spider/conf/mysql.ini
      • ./poem-web/conf/mysql.ini
  • 同步数据库表

    运行入口: ./poem-core/PC000Application.go

      注意运行时: working directory需为 ****/poem-parent/poem-core 下
    

  • 执行爬取数据

    运行入口: ./poem-spider/PS000Application.go

  • 启动http服务

    运行入口: ./poem-web/PW000Application.go

  • 联系作者

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!