使用 jsoup 抓取一个网站,并在 golang 中制作 json



我想抓取一个网站(bbs.archusers.ir(,以便为用户发布新帖子或主题通知。

我尝试为每个部分编写以下代码,用于读取名称,上次更改日期和URL,并保存到结构中并将结构保存到JSON对象中。 但是我的结构中的链接部分不会获得任何值,并且要么出现在控制台中 对我来说,这是我的代码

package main
import (
"fmt"
"github.com/anaskhan96/soup"
"log"
"os"
"encoding/json"
)
type Message struct {
Name string
Date string
link string
}
type myJSON struct {
Array []Message
}
var input []Message
func main() {
resp, err := soup.Get("https://bbs.archusers.ir")
if err != nil {
os.Exit(1)
}
doc := soup.HTMLParse(resp)
links := doc.Find("div", "id", "brdmain").FindAll("a")
for i := 0; i < len(links); i += 2 {
link := Message{links[i].Text(), links[i+1].Text(), links[i].Attrs()["href"] }
input = append(input, link)
}

if err != nil {
log.Fatal(err)
}
jsondat := &myJSON{input}
encjson, _ := json.Marshal(jsondat)
fmt.Println(string(encjson))
}

我做错了哪一部分?

消息结构有问题 它必须用大写字母 k 命名"链接"---<链接>

type Message struct {
Name string
Date string
Link string
}

并且输出将是正确的

{"Name":"مانجارو Manjaro","Date":"2018-10-18 10:55:09","link":"viewforum.php?id=22"}

最新更新