%title插图%num

  1. package main
  2. import (
  3. “bufio”
  4. “encoding/json”
  5. “fmt”
  6. “io/ioutil”
  7. “net/http”
  8. “os”
  9. “strings”
  10. “time”
  11. )
  12. type structureData struct {
  13. StatusCode int `json:”status_code”`
  14. UserInfo struct {
  15. AwemeCount int `json:”aweme_count”`
  16. FollowingCount int `json:”following_count”`
  17. SecUID string `json:”sec_uid”`
  18. EnterpriseVerifyReason string `json:”enterprise_verify_reason”`
  19. IsMixUser bool `json:”is_mix_user”`
  20. UID string `json:”uid”`
  21. Nickname string `json:”nickname”`
  22. AvatarLarger struct {
  23. URI string `json:”uri”`
  24. URLList []string `json:”url_list”`
  25. } `json:”avatar_larger”`
  26. OriginalMusician struct {
  27. MusicCount int `json:”music_count”`
  28. MusicUsedCount int `json:”music_used_count”`
  29. DiggCount int `json:”digg_count”`
  30. } `json:”original_musician”`
  31. Signature string `json:”signature”`
  32. FavoritingCount int `json:”favoriting_count”`
  33. UniqueID string `json:”unique_id”`
  34. MixInfo interface{} `json:”mix_info”`
  35. AvatarMedium struct {
  36. URI string `json:”uri”`
  37. URLList []string `json:”url_list”`
  38. } `json:”avatar_medium”`
  39. VerificationType int `json:”verification_type”`
  40. TypeLabel interface{} `json:”type_label”`
  41. TotalFavorited string `json:”total_favorited”`
  42. MplatformFollowersCount int `json:”mplatform_followers_count”`
  43. IsGovMediaVip bool `json:”is_gov_media_vip”`
  44. ShowFavoriteList bool `json:”show_favorite_list”`
  45. CardEntries []interface{} `json:”card_entries”`
  46. ShortID string `json:”short_id”`
  47. FollowStatus int `json:”follow_status”`
  48. FollowerCount int `json:”follower_count”`
  49. Secret int `json:”secret”`
  50. Geofencing interface{} `json:”geofencing”`
  51. PolicyVersion interface{} `json:”policy_version”`
  52. AvatarThumb struct {
  53. URI string `json:”uri”`
  54. URLList []string `json:”url_list”`
  55. } `json:”avatar_thumb”`
  56. CustomVerify string `json:”custom_verify”`
  57. PlatformSyncInfo []interface{} `json:”platform_sync_info”`
  58. FollowersDetail interface{} `json:”followers_detail”`
  59. MixCount int `json:”mix_count”`
  60. } `json:”user_info”`
  61. Extra struct {
  62. Now int64 `json:”now”`
  63. Logid string `json:”logid”`
  64. } `json:”extra”`
  65. }
  66. func main() {
  67. for {
  68. fmt.Println(`
  69. 韩昊杰go语言软件
  70. 查询抖音信息工具
  71. 输入quit即可退出
  72. `)
  73. var scan string
  74. fmt.Print(“请输入你要查询用户的ID:”)
  75. reader := bufio.NewReader(os.Stdin) // 标准输入输出
  76. scan, _ = reader.ReadString(‘\n’) // 回车结束
  77. scan = strings.TrimSpace(scan) // 去除最后一个空格
  78. if scan == “quit” {
  79. os.Exit(1)
  80. }
  81. fmt.Println(“——————————下面是结果——————————“)
  82. fmt.Println(“”)
  83. returnData := request(scan)
  84. fmt.Printf(“账号昵称:%v\n”, returnData.UserInfo.Nickname)
  85. fmt.Printf(“短位id:%v\n”, returnData.UserInfo.UID)
  86. fmt.Printf(“获赞数量:%v\n”, returnData.UserInfo.TotalFavorited)
  87. fmt.Printf(“粉丝:%v\n”, returnData.UserInfo.FollowerCount)
  88. fmt.Printf(“关注:%v\n”, returnData.UserInfo.FollowingCount)
  89. fmt.Printf(“签名:%v\n”, returnData.UserInfo.Signature)
  90. fmt.Printf(“头像链接:%v\n”, returnData.UserInfo.AvatarLarger.URLList[0])
  91. fmt.Println(“”)
  92. fmt.Println(“——————————上面面是结果——————————“)
  93. time.Sleep(time.Second * 4)
  94. fmt.Println(“再次输入内容即可再次查询”)
  95. }
  96. }
  97. func request(data string) structureData {
  98. resp, err := http.Get(“http://www.iesdouyin.com/web/api/v2/user/info/?unique_id=” + data)
  99. if err != nil {
  100. fmt.Print(“http faild err data:”, err)
  101. }
  102. defer resp.Body.Close()
  103. body, err := ioutil.ReadAll(resp.Body)
  104. if err != nil {
  105. fmt.Print(“ioutil faile”)
  106. }
  107. var returnData structureData
  108. json.Unmarshal([]byte(body), &returnData)
  109. return returnData
  110. }

发表回复

后才能评论