完整的go爬蟲項目

分享一個完整go語言實現的爬蟲項目.java

gitee傳送門:https://gitee.com/ink5188/poem-parentmysql

項目介紹

最近沉迷於古詩文的閱讀上,細品其中,沉迷其中.

但平時閱讀上感受仍是不大方便,故此有這個項目.

項目中儘量的保留了本身在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

模塊依賴

| 模塊名 | 依賴模塊 |web

| -------- | :----: |sql

| poem-api |無|數據庫

| poem-core |poem-api|api

| poem-spider |poem-api oem-core|app

| 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

    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 下

    image

  • 執行爬取數據

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

  • 啓動http服務

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

    image

  • 聯繫做者

相關文章
相關標籤/搜索