完整的go爬虫项目

分享一个完整go语言实现的爬虫项目.

gitee传送门: https://gitee.com/ink5188/poem-parent

项目介绍

最近沉迷于古诗文的阅读上,细品其中,沉迷其中.

但平时阅读上感觉还是不大方便,故此有这个项目.

项目中尽可能的保留了自己在Java上的一些编码习惯,

如三层结构:model层 service层,controller层,贴近实际工作开发需要.

希望可以对目前为Java开发者有需要转向go的朋友提供一个参考.

如果该对您有帮助,请给一个star吧.

技术选型

  • xorm

  • go_spider

  • beego

项目结构

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

    完整的go爬虫项目

    image

  • 下载资源包

    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 下
    完整的go爬虫项目

    image

  • 执行爬取数据

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

  • 启动http服务

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

    完整的go爬虫项目

    image

  • 联系作者

原文 

https://studygolang.com/articles/25040

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 完整的go爬虫项目

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址