mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-04 16:12:47 +08:00
37 lines
827 B
Go
37 lines
827 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
// getRanking 让这个方法优雅一点
|
|
func getRanking() int {
|
|
// 获取网页数据
|
|
URL := fmt.Sprintf("https://leetcode.com/%s/", getConfig().Username)
|
|
data := getRaw(URL)
|
|
str := string(data)
|
|
// 通过不断裁剪 str 获取排名信息
|
|
fmt.Println(str)
|
|
i := strings.Index(str, "ng-init")
|
|
j := i + strings.Index(str[i:], "ng-cloak")
|
|
str = str[i:j]
|
|
i = strings.Index(str, "(")
|
|
j = strings.Index(str, ")")
|
|
str = str[i:j]
|
|
// fmt.Println("2\n", str)
|
|
strs := strings.Split(str, ",")
|
|
str = strs[6]
|
|
// fmt.Println("1\n", str)
|
|
i = strings.Index(str, "'")
|
|
j = 2 + strings.Index(str[2:], "'")
|
|
// fmt.Println("0\n", str)
|
|
str = str[i+1 : j]
|
|
r, err := strconv.Atoi(str)
|
|
if err != nil {
|
|
fmt.Printf("无法把 %s 转换成数字Ranking", str)
|
|
}
|
|
return r
|
|
}
|