今日热榜,一个获取各大热门网站热门头条的聚合网站,使用Go语言编写,多协程异步快速抓取信息

今日热榜

今日热榜是一个获取各大热门网站热门头条的聚合网站,使用Go语言编写,多协程异步快速抓取信息,预览:http://mo.fish

DeepinScrot-1130.png

安装教程

  1. 编译

    cd {root_path} # 项目根目录
    go build -o ./App/GetHot App/GetHot.go
    go build -o ./App/Server App/Server.go 
    
  2. 创建数据库,如 news,执行database.sql创建表,更改配置文件Config/mysql.toml

  3. 编辑文件 Html/js/blog/globalConfig.js

    const ServerIp = 'http://{your_domain}:9090' // 替换成服务器域名
    
  4. 部署定时任务/App/GetHot.go爬虫程序,且以守护进程的方式执行Server.go

    crontab -e # 添加一行 0 */1 * * * {root_path}/App/GetHot
    nohup {root_path}/App/Server &
    
  5. 测试

    • 打开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

API说明

获取所有类型

  • Method: GET
  • URL: https://www.tophub.fun:8888/GetAllType
  • 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.tophub.fun:8888/v2/GetAllInfoGzip?id=59&page=0
  • Param:id
  • Body:
{
    "Code":0,
    "Message":"获取数据成功",
    "Data":{
        "data":[
            {
                "id":1327371,
                "CreateTime":1579487422,
                "commentNum":0,
                "approvalNum":0,
                "Title":"180W 买了个小破房,月供 7500 多,压力山大",
                "hotDesc":"200条评论",
                "Url":"https://www.v2ex.com/t/639366#reply200",
                "imgUrl":"",
                "isRss":"",
                "is_agree":0,
                "TypeName":"社区"
            },
            {
                "id":1326304,
                "CreateTime":1579483806,
                "commentNum":0,
                "approvalNum":0,
                "Title":"口罩(N95) 目前应该买哪个? 有研究过得推荐一下?",
                "hotDesc":"106条评论",
                "Url":"https://www.v2ex.com/t/639343#reply106",
                "imgUrl":"",
                "isRss":"",
                "is_agree":0,
                "TypeName":"社区"
            },
        ],
        "page":10
    }
}

使用说明

  1. fork 项目

参与贡献

  1. Fork 本项目
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request
Owner
今日热榜
今日热榜,一个获取各大热门网站热门头条的聚合网站
今日热榜
Comments
  • 如何在windows下启动服务

    如何在windows下启动服务

    请问在windows下是如何配置的,萌新刚接触这个项目,对go和mysql也是新手,因此对大佬 “执行database.sql创建数据库,并配置/Config/Mysql.go数据库连接地址”的精炼语言不是很理解,没有能够读懂整个安装步骤。看到issue部分感觉大家都能成功运行,所以自己搞了两天,但是并没有能够成功编译,但仍然执着于这个项目。

    目前下载了go的idle goland,安装好了mysql,学习了go和mysql语法。 我已看到issue#8相关说明,有木有大佬指导一下哈:)

  • 执行server  hotget 都报错

    执行server hotget 都报错

    Administrator@WINDOWS-O8ROA6P MINGW32 /e/project-example/go-project $ go run App/Server.go parse mysql config once. filePath: E:\project-example\go-project\Config\mysql.toml panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x1 addr=0x20 pc=0x74c784]

    goroutine 1 [running]: sync.(*Mutex).Lock(...) D:/Go/src/sync/mutex.go:74 database/sql.(*DB).SetMaxOpenConns(0x0, 0x7d0) D:/Go/src/database/sql/sql.go:899 +0x34 /E/project-example/go-project/Common.init.0() E:/project-example/go-project/Common/Db.go:41 +0xe7 exit status 2

    Administrator@WINDOWS-O8ROA6P MINGW32 /e/project-example/go-project

  • format code and change the database table name, also fix the sql inje…

    format code and change the database table name, also fix the sql inje…

    因为用的sql拼接的方式查询(很容易暴露数据库被攻击),因此很容易被sql注入, 因为整个改的话改动较大,因此用正则过滤的方式简单解决sql注入的问题。 sql注入方式如下: https://www.printf520.com:8080/GetTypeInfo?id=12+or+1=1+union+select+user+as+str+from+mysql.user++order+by+str+desc

  • 新api与老api不兼容

    新api与老api不兼容

    API 地址: https://www.tophub.fun:8080/GetAllInfoGzip?id=1

    {
    	"Code": 0,
    	"Message": "获取数据成功",
    	"Data": [{
    		"CreateTime": "1572327004",
    		"Desc": "我说的冷漠:感情波动不大,能引起感情波动的事情不多,不讨好不挽留,习惯自己一个人",
    		"Title": "怎么使自己变成一个冷漠的人?",
    		"Url": "https://www.zhihu.com/question/287784244",
    		"approvalNum": "0",
    		"commentNum": "0",
    		"id": "518166"
    	}, {
    		"CreateTime": "1572327003",
    		"Desc": "",
    		"Title": "学医的女生有多可怕?",
    		"Url": "https://www.zhihu.com/question/265637604",
    		"approvalNum": "0",
    		"commentNum": "0",
    		"id": "521790"
    	}]
    }
    

    原API提供的为小写title,小写url。 新api提供的为首字母大写Title, 首字母大写Url.

    而readme中仍为小写的

    建议修改。

  • 开发环境运行调试报错

    开发环境运行调试报错

    parse mysql config once. filePath: D:\go-workspace\TopList\Config\mysql.toml 2019/09/26 15:01:52 err 2019/09/26 15:01:52 http: panic serving [::1]:62895: runtime error: invalid memory address or nil pointer dereference goroutine 21 [running]: net/http.(*conn).serve.func1(0xc00005ec80) C:/Go/src/net/http/server.go:1769 +0xd0 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.errRecover(0xc00007bc20) C:/Go/src/text/template/exec.go:160 +0x1d4 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.(*Template).execute(0x0, 0x8c9060, 0xc000126000, 0x0, 0x0, 0x0, 0x0) C:/Go/src/text/template/exec.go:214 +0x1a9 text/template.(*Template).Execute(...) C:/Go/src/text/template/exec.go:200 main.main.func1(0x8d0020, 0xc000126000, 0xc000112000) D:/go-workspace/TopList/App/Server.go:72 +0xd0 net/http.HandlerFunc.ServeHTTP(0x85d398, 0x8d0020, 0xc000126000, 0xc000112000) C:/Go/src/net/http/server.go:1995 +0x4b net/http.(*ServeMux).ServeHTTP(0xb77500, 0x8d0020, 0xc000126000, 0xc000112000) C:/Go/src/net/http/server.go:2375 +0x1dd net/http.serverHandler.ServeHTTP(0xc00005c9c0, 0x8d0020, 0xc000126000, 0xc000112000) C:/Go/src/net/http/server.go:2774 +0xb2 net/http.(*conn).serve(0xc00005ec80, 0x8d08e0, 0xc000104040) C:/Go/src/net/http/server.go:1878 +0x853 created by net/http.(*Server).Serve C:/Go/src/net/http/server.go:2884 +0x2fb 2019/09/26 15:01:52 err 2019/09/26 15:01:52 http: panic serving [::1]:62896: runtime error: invalid memory address or nil pointer dereference goroutine 35 [running]: net/http.(*conn).serve.func1(0xc000164000) C:/Go/src/net/http/server.go:1769 +0xd0 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.errRecover(0xc0000f7c20) C:/Go/src/text/template/exec.go:160 +0x1d4 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.(*Template).execute(0x0, 0x8c9060, 0xc000176000, 0x0, 0x0, 0x0, 0x0) C:/Go/src/text/template/exec.go:214 +0x1a9 text/template.(*Template).Execute(...) C:/Go/src/text/template/exec.go:200 main.main.func1(0x8d0020, 0xc000176000, 0xc00016a000) D:/go-workspace/TopList/App/Server.go:72 +0xd0 net/http.HandlerFunc.ServeHTTP(0x85d398, 0x8d0020, 0xc000176000, 0xc00016a000) C:/Go/src/net/http/server.go:1995 +0x4b net/http.(*ServeMux).ServeHTTP(0xb77500, 0x8d0020, 0xc000176000, 0xc00016a000) C:/Go/src/net/http/server.go:2375 +0x1dd net/http.serverHandler.ServeHTTP(0xc00005c9c0, 0x8d0020, 0xc000176000, 0xc00016a000) C:/Go/src/net/http/server.go:2774 +0xb2 net/http.(*conn).serve(0xc000164000, 0x8d08e0, 0xc0000180c0) C:/Go/src/net/http/server.go:1878 +0x853 created by net/http.(*Server).Serve C:/Go/src/net/http/server.go:2884 +0x2fb 2019/09/26 15:01:57 err 2019/09/26 15:01:57 http: panic serving [::1]:62897: runtime error: invalid memory address or nil pointer dereference goroutine 22 [running]: net/http.(*conn).serve.func1(0xc00005ed20) C:/Go/src/net/http/server.go:1769 +0xd0 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.errRecover(0xc0000f9c20) C:/Go/src/text/template/exec.go:160 +0x1d4 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.(*Template).execute(0x0, 0x8c9060, 0xc0001760e0, 0x0, 0x0, 0x0, 0x0) C:/Go/src/text/template/exec.go:214 +0x1a9 text/template.(*Template).Execute(...) C:/Go/src/text/template/exec.go:200 main.main.func1(0x8d0020, 0xc0001760e0, 0xc00016a100) D:/go-workspace/TopList/App/Server.go:72 +0xd0 net/http.HandlerFunc.ServeHTTP(0x85d398, 0x8d0020, 0xc0001760e0, 0xc00016a100) C:/Go/src/net/http/server.go:1995 +0x4b net/http.(*ServeMux).ServeHTTP(0xb77500, 0x8d0020, 0xc0001760e0, 0xc00016a100) C:/Go/src/net/http/server.go:2375 +0x1dd net/http.serverHandler.ServeHTTP(0xc00005c9c0, 0x8d0020, 0xc0001760e0, 0xc00016a100) C:/Go/src/net/http/server.go:2774 +0xb2 net/http.(*conn).serve(0xc00005ed20, 0x8d08e0, 0xc000018280) C:/Go/src/net/http/server.go:1878 +0x853 created by net/http.(*Server).Serve C:/Go/src/net/http/server.go:2884 +0x2fb 2019/09/26 15:02:27 err 2019/09/26 15:02:27 http: panic serving [::1]:62902: runtime error: invalid memory address or nil pointer dereference goroutine 6 [running]: net/http.(*conn).serve.func1(0xc00016e0a0) C:/Go/src/net/http/server.go:1769 +0xd0 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.errRecover(0xc0000f9c20) C:/Go/src/text/template/exec.go:160 +0x1d4 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.(*Template).execute(0x0, 0x8c9060, 0xc0001b0000, 0x0, 0x0, 0x0, 0x0) C:/Go/src/text/template/exec.go:214 +0x1a9 text/template.(*Template).Execute(...) C:/Go/src/text/template/exec.go:200 main.main.func1(0x8d0020, 0xc0001b0000, 0xc0001aa000) D:/go-workspace/TopList/App/Server.go:72 +0xd0 net/http.HandlerFunc.ServeHTTP(0x85d398, 0x8d0020, 0xc0001b0000, 0xc0001aa000) C:/Go/src/net/http/server.go:1995 +0x4b net/http.(*ServeMux).ServeHTTP(0xb77500, 0x8d0020, 0xc0001b0000, 0xc0001aa000) C:/Go/src/net/http/server.go:2375 +0x1dd net/http.serverHandler.ServeHTTP(0xc00005c9c0, 0x8d0020, 0xc0001b0000, 0xc0001aa000) C:/Go/src/net/http/server.go:2774 +0xb2 net/http.(*conn).serve(0xc00016e0a0, 0x8d08e0, 0xc000060580) C:/Go/src/net/http/server.go:1878 +0x853 created by net/http.(*Server).Serve C:/Go/src/net/http/server.go:2884 +0x2fb 2019/09/26 15:03:27 err 2019/09/26 15:03:27 http: panic serving [::1]:62909: runtime error: invalid memory address or nil pointer dereference goroutine 7 [running]: net/http.(*conn).serve.func1(0xc00016e140) C:/Go/src/net/http/server.go:1769 +0xd0 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.errRecover(0xc0000f7c20) C:/Go/src/text/template/exec.go:160 +0x1d4 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.(*Template).execute(0x0, 0x8c9060, 0xc0001b00e0, 0x0, 0x0, 0x0, 0x0) C:/Go/src/text/template/exec.go:214 +0x1a9 text/template.(*Template).Execute(...) C:/Go/src/text/template/exec.go:200 main.main.func1(0x8d0020, 0xc0001b00e0, 0xc0001aa100) D:/go-workspace/TopList/App/Server.go:72 +0xd0 net/http.HandlerFunc.ServeHTTP(0x85d398, 0x8d0020, 0xc0001b00e0, 0xc0001aa100) C:/Go/src/net/http/server.go:1995 +0x4b net/http.(*ServeMux).ServeHTTP(0xb77500, 0x8d0020, 0xc0001b00e0, 0xc0001aa100) C:/Go/src/net/http/server.go:2375 +0x1dd net/http.serverHandler.ServeHTTP(0xc00005c9c0, 0x8d0020, 0xc0001b00e0, 0xc0001aa100) C:/Go/src/net/http/server.go:2774 +0xb2 net/http.(*conn).serve(0xc00016e140, 0x8d08e0, 0xc0000606c0) C:/Go/src/net/http/server.go:1878 +0x853 created by net/http.(*Server).Serve C:/Go/src/net/http/server.go:2884 +0x2fb 2019/09/26 15:06:33 err 2019/09/26 15:06:33 http: panic serving [::1]:62943: runtime error: invalid memory address or nil pointer dereference goroutine 25 [running]: net/http.(*conn).serve.func1(0xc00005ef00) C:/Go/src/net/http/server.go:1769 +0xd0 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.errRecover(0xc00007bc20) C:/Go/src/text/template/exec.go:160 +0x1d4 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.(*Template).execute(0x0, 0x8c9060, 0xc0001762a0, 0x0, 0x0, 0x0, 0x0) C:/Go/src/text/template/exec.go:214 +0x1a9 text/template.(*Template).Execute(...) C:/Go/src/text/template/exec.go:200 main.main.func1(0x8d0020, 0xc0001762a0, 0xc00016a400) D:/go-workspace/TopList/App/Server.go:72 +0xd0 net/http.HandlerFunc.ServeHTTP(0x85d398, 0x8d0020, 0xc0001762a0, 0xc00016a400) C:/Go/src/net/http/server.go:1995 +0x4b net/http.(*ServeMux).ServeHTTP(0xb77500, 0x8d0020, 0xc0001762a0, 0xc00016a400) C:/Go/src/net/http/server.go:2375 +0x1dd net/http.serverHandler.ServeHTTP(0xc00005c9c0, 0x8d0020, 0xc0001762a0, 0xc00016a400) C:/Go/src/net/http/server.go:2774 +0xb2 net/http.(*conn).serve(0xc00005ef00, 0x8d08e0, 0xc000018380) C:/Go/src/net/http/server.go:1878 +0x853 created by net/http.(*Server).Serve C:/Go/src/net/http/server.go:2884 +0x2fb 2019/09/26 15:06:33 err 2019/09/26 15:06:33 http: panic serving [::1]:62945: runtime error: invalid memory address or nil pointer dereference goroutine 13 [running]: net/http.(*conn).serve.func1(0xc00016e320) C:/Go/src/net/http/server.go:1769 +0xd0 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.errRecover(0xc0001b5c20) C:/Go/src/text/template/exec.go:160 +0x1d4 panic(0x7d7f00, 0xb6ac20) C:/Go/src/runtime/panic.go:522 +0x1c3 text/template.(*Template).execute(0x0, 0x8c9060, 0xc0001260e0, 0x0, 0x0, 0x0, 0x0) C:/Go/src/text/template/exec.go:214 +0x1a9 text/template.(*Template).Execute(...) C:/Go/src/text/template/exec.go:200 main.main.func1(0x8d0020, 0xc0001260e0, 0xc000112200) D:/go-workspace/TopList/App/Server.go:72 +0xd0 net/http.HandlerFunc.ServeHTTP(0x85d398, 0x8d0020, 0xc0001260e0, 0xc000112200) C:/Go/src/net/http/server.go:1995 +0x4b net/http.(*ServeMux).ServeHTTP(0xb77500, 0x8d0020, 0xc0001260e0, 0xc000112200) C:/Go/src/net/http/server.go:2375 +0x1dd net/http.serverHandler.ServeHTTP(0xc00005c9c0, 0x8d0020, 0xc0001260e0, 0xc000112200) C:/Go/src/net/http/server.go:2774 +0xb2 net/http.(*conn).serve(0xc00016e320, 0x8d08e0, 0xc000104340) C:/Go/src/net/http/server.go:1878 +0x853 created by net/http.(*Server).Serve C:/Go/src/net/http/server.go:2884 +0x2fb

    当在浏览器输入localhost:9090时报错。localhost:9090/GetType正常。

  • console error when open page http://localhost:9090/

    console error when open page http://localhost:9090/

    `go.mod module github.com/tophubs/TopList

    go 1.13

    require ( github.com/BurntSushi/toml v0.3.1 github.com/PuerkitoBio/goquery v1.5.0 github.com/bitly/go-simplejson v0.5.0 github.com/go-sql-driver/mysql v1.4.1 golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472 // indirect golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 // indirect golang.org/x/text v0.3.2 google.golang.org/appengine v1.6.2 // indirect ) `

    2019/09/07 18:50:37 err 2019/09/07 18:50:37 http: panic serving 127.0.0.1:38404: runtime error: invalid memory address or nil pointer dereference goroutine 19 [running]: net/http.(*conn).serve.func1(0xc0001c2000) /ssd/go-1.13/src/net/http/server.go:1767 +0x149 panic(0x965020, 0xd15470) /ssd/go-1.13/src/runtime/panic.go:679 +0x1e0 text/template.errRecover(0xc00009b728) /ssd/go-1.13/src/text/template/exec.go:164 +0x30d panic(0x965020, 0xd15470) /ssd/go-1.13/src/runtime/panic.go:679 +0x1e0 text/template.(*Template).execute(0x0, 0xa60680, 0xc00018e1c0, 0x95b7e0, 0xd3f3b0, 0x0, 0x0) /ssd/go-1.13/src/text/template/exec.go:218 +0x303 text/template.(*Template).Execute(0x0, 0xa60680, 0xc00018e1c0, 0x95b7e0, 0xd3f3b0, 0x0, 0x0) /ssd/go-1.13/src/text/template/exec.go:204 +0x5e main.main.func1(0xa669c0, 0xc00018e1c0, 0xc000132200) /ssd/mygo/TopList/App/Server.go:74 +0x1e5 net/http.HandlerFunc.ServeHTTP(0x9f9d28, 0xa669c0, 0xc00018e1c0, 0xc000132200) /ssd/go-1.13/src/net/http/server.go:2007 +0x44 net/http.(*ServeMux).ServeHTTP(0xd229e0, 0xa669c0, 0xc00018e1c0, 0xc000132200) /ssd/go-1.13/src/net/http/server.go:2387 +0x1a6 net/http.serverHandler.ServeHTTP(0xc0000fc000, 0xa669c0, 0xc00018e1c0, 0xc000132200) /ssd/go-1.13/src/net/http/server.go:2802 +0x20f net/http.(*conn).serve(0xc0001c2000, 0xa67540, 0xc00011c200) /ssd/go-1.13/src/net/http/server.go:1890 +0x1716 created by net/http.(*Server).Serve /ssd/go-1.13/src/net/http/server.go:2927 +0x911 2019/09/07 18:50:37 err 2019/09/07 18:50:37 http: panic serving 127.0.0.1:38406: runtime error: invalid memory address or nil pointer dereference goroutine 20 [running]: net/http.(*conn).serve.func1(0xc0001c20a0) /ssd/go-1.13/src/net/http/server.go:1767 +0x149 panic(0x965020, 0xd15470) /ssd/go-1.13/src/runtime/panic.go:679 +0x1e0 text/template.errRecover(0xc000099728) /ssd/go-1.13/src/text/template/exec.go:164 +0x30d panic(0x965020, 0xd15470) /ssd/go-1.13/src/runtime/panic.go:679 +0x1e0 text/template.(*Template).execute(0x0, 0xa60680, 0xc0000fc0e0, 0x95b7e0, 0xd3f3b0, 0x0, 0x0) /ssd/go-1.13/src/text/template/exec.go:218 +0x303 text/template.(*Template).Execute(0x0, 0xa60680, 0xc0000fc0e0, 0x95b7e0, 0xd3f3b0, 0x0, 0x0) /ssd/go-1.13/src/text/template/exec.go:204 +0x5e main.main.func1(0xa669c0, 0xc0000fc0e0, 0xc000132100) /ssd/mygo/TopList/App/Server.go:74 +0x1e5 net/http.HandlerFunc.ServeHTTP(0x9f9d28, 0xa669c0, 0xc0000fc0e0, 0xc000132100) /ssd/go-1.13/src/net/http/server.go:2007 +0x44 net/http.(*ServeMux).ServeHTTP(0xd229e0, 0xa669c0, 0xc0000fc0e0, 0xc000132100) /ssd/go-1.13/src/net/http/server.go:2387 +0x1a6 net/http.serverHandler.ServeHTTP(0xc0000fc000, 0xa669c0, 0xc0000fc0e0, 0xc000132100) /ssd/go-1.13/src/net/http/server.go:2802 +0x20f net/http.(*conn).serve(0xc0001c20a0, 0xa67540, 0xc00011c180) /ssd/go-1.13/src/net/http/server.go:1890 +0x1716 created by net/http.(*Server).Serve /ssd/go-1.13/src/net/http/server.go:2927 +0x911 2019/09/07 18:50:38 err 2019/09/07 18:50:38 http: panic serving 127.0.0.1:38408: runtime error: invalid memory address or nil pointer dereference goroutine 11 [running]: net/http.(*conn).serve.func1(0xc0000acdc0) /ssd/go-1.13/src/net/http/server.go:1767 +0x149 panic(0x965020, 0xd15470) /ssd/go-1.13/src/runtime/panic.go:679 +0x1e0 text/template.errRecover(0xc000099728) /ssd/go-1.13/src/text/template/exec.go:164 +0x30d panic(0x965020, 0xd15470) /ssd/go-1.13/src/runtime/panic.go:679 +0x1e0 text/template.(*Template).execute(0x0, 0xa60680, 0xc0000fc1c0, 0x95b7e0, 0xd3f3b0, 0x0, 0x0) /ssd/go-1.13/src/text/template/exec.go:218 +0x303 text/template.(*Template).Execute(0x0, 0xa60680, 0xc0000fc1c0, 0x95b7e0, 0xd3f3b0, 0x0, 0x0) /ssd/go-1.13/src/text/template/exec.go:204 +0x5e main.main.func1(0xa669c0, 0xc0000fc1c0, 0xc00015c100) /ssd/mygo/TopList/App/Server.go:74 +0x1e5 net/http.HandlerFunc.ServeHTTP(0x9f9d28, 0xa669c0, 0xc0000fc1c0, 0xc00015c100) /ssd/go-1.13/src/net/http/server.go:2007 +0x44 net/http.(*ServeMux).ServeHTTP(0xd229e0, 0xa669c0, 0xc0000fc1c0, 0xc00015c100) /ssd/go-1.13/src/net/http/server.go:2387 +0x1a6 net/http.serverHandler.ServeHTTP(0xc0000fc000, 0xa669c0, 0xc0000fc1c0, 0xc00015c100) /ssd/go-1.13/src/net/http/server.go:2802 +0x20f net/http.(*conn).serve(0xc0000acdc0, 0xa67540, 0xc000088580) /ssd/go-1.13/src/net/http/server.go:1890 +0x1716 created by net/http.(*Server).Serve /ssd/go-1.13/src/net/http/server.go:2927 +0x911

  • 编译报错

    编译报错

    Config\MySql.go:5:2: cannot find package "github.com/BurntSushi/toml" in any of: D:\Go\src\github.com\BurntSushi\toml (from $GOROOT) E:\project-example\go-project\src\github.com\BurntSushi\toml (from $GOPATH) App\GetHot.go:8:2: cannot find package "github.com/PuerkitoBio/goquery" in any of: D:\Go\src\github.com\PuerkitoBio\goquery (from $GOROOT) E:\project-example\go-project\src\github.com\PuerkitoBio\goquery (from $GOPATH) App\GetHot.go:9:2: cannot find package "github.com/bitly/go-simplejson" in any of: D:\Go\src\github.com\bitly\go-simplejson (from $GOROOT) E:\project-example\go-project\src\github.com\bitly\go-simplejson (from $GOPATH) Common\Db.go:7:2: cannot find package "github.com/go-sql-driver/mysql" in any of: D:\Go\src\github.com\go-sql-driver\mysql (from $GOROOT) E:\project-example\go-project\src\github.com\go-sql-driver\mysql (from $GOPATH) App\GetHot.go:10:2: cannot find package "golang.org/x/text/encoding/simplifiedchinese" in any of: D:\Go\src\golang.org\x\text\encoding\simplifiedchinese (from $GOROOT) E:\project-example\go-project\src\golang.org\x\text\encoding\simplifiedchinese (from $GOPATH) App\GetHot.go:11:2: cannot find package "golang.org/x/text/transform" in any of: D:\Go\src\golang.org\x\text\transform (from $GOROOT) E:\project-example\go-project\src\golang.org\x\text\transform (from $GOPATH)