当前位置:首页 » 《资源分享》 » 正文

抽奖送书有“黑幕”?!揭晓“黑心”博主的抽奖“黑幕”!顺便评论区再抽一位送中秋礼物!_Personal WeChat

12 人参与  2021年10月27日 13:43  分类 : 《资源分享》  评论

点击全文阅读


前情回顾

  • 🎉上周一发布了一篇博客,只要点赞、评论就能参与抽奖送书!
  • 🎉这次让我们来看看这位博主是怎么抽奖的吧
  • 🎉点赞 👍 收藏 ⭐留言 📝 即可参与抽奖送中秋礼盒🙉
  • 🎉文末可领取源码~✨

详情可以点击链接 《机器学习入门:基于数学原理的Python实战》

所以今天带大家来康康,博主是怎么抽奖哒~
康康有木有传说中的黑幕

目录

  • 前情回顾
  • 1. 如何获取评论名单?
  • 2. 如何抽奖?
  • 3. 开奖啦~
  • 4. 抽奖啦~
  • 最后

1. 如何获取评论名单?

按下F12查看列表,很快就能找到这些评论的链接了~
在这里插入图片描述

所以我们需要先获取这个列表的评论信息

  • 首先使用&http.Client{}创建一个客户端的请求
  • 然后再通过NewRequest进行发送POST请求
	client := &http.Client{}
	reqSpider, err := http.NewRequest("POST", "https://blog.csdn.net/phoenix/web/v1/comment/list/120067923?page="+p+"&size=10", nil)
	if err != nil {
		log.Fatal(err)
	}
	reqSpider.Header.Set("content-length", "0")  // 书写请求头
	reqSpider.Header.Set("accept", "*/*")
	reqSpider.Header.Set("x-requested-with", "XMLHttpRequest")
	respSpider, err := client.Do(reqSpider) // 发送请求
	if err != nil {
		log.Fatal(err)
	}
	defer respSpider.Body.Close()
	bodyText, err := ioutil.ReadAll(respSpider.Body)
	if err != nil {
		log.Fatal(err)
	}
  • 由于go语言json格式没有那么方便,所以我们必须自己使用进行反序列
  • 所以要自己写一个结构体,推荐一个StringToStruct的网址,百度就行了!
type Result struct {
	Code int64 `json:"code"`
	Data struct {
		Count      int64 `json:"count"`
		FloorCount int64 `json:"floorCount"`
		List       []struct {
			Info struct {
				ArticleID             int64  `json:"articleId"`
				Avatar                string `json:"avatar"`
				CommentFromTypeResult struct {
					Index int64  `json:"index"`
					Key   string `json:"key"`
					Title string `json:"title"`
				} `json:"commentFromTypeResult"`
				CommentID       int64         `json:"commentId"`
				CompanyBlog     interface{}   `json:"companyBlog"`
				CompanyBlogIcon interface{}   `json:"companyBlogIcon"`
				Content         string        `json:"content"`
				DateFormat      string        `json:"dateFormat"`
				Digg            int64         `json:"digg"`
				DiggArr         []interface{} `json:"diggArr"`
				Flag            interface{}   `json:"flag"`
				FlagIcon        interface{}   `json:"flagIcon"`
				LevelIcon       interface{}   `json:"levelIcon"`
				NickName        string        `json:"nickName"`
				ParentID        int64         `json:"parentId"`
				ParentNickName  interface{}   `json:"parentNickName"`
				ParentUserName  interface{}   `json:"parentUserName"`
				PostTime        string        `json:"postTime"`
				UserName        string        `json:"userName"`
				Vip             interface{}   `json:"vip"`
				VipIcon         interface{}   `json:"vipIcon"`
				Years           interface{}   `json:"years"`
			} `json:"info"`
			PointCommentID interface{}   `json:"pointCommentId"`
			Sub            []interface{} `json:"sub"`
		} `json:"list"`
		PageCount int64 `json:"pageCount"`
	} `json:"data"`
	Message string `json:"message"`
}

把这个复制到网址上就能生成结构体了
在这里插入图片描述
在这里插入图片描述

  • 然后对返回的数据进行序列化就行了。
  • 然后把所有评论的人放在一个列表当中。
var result Result
	_ = json.Unmarshal(bodyText, &result)               //byte to json
	num := len(result.Data.List)
	commentList := result.Data.List
	for i:=0 ;i<num; i++ {
		var luckPerson LuckyPerson
		luckPerson.UserName = commentList[i].Info.UserName
		luckPerson.NickName = commentList[i].Info.NickName
		tmp = append(tmp, luckPerson)   // 存放每一个评论的人
	}
  • 但是我们要进行一个去重的操作!
func removeRepByMap(slc []LuckyPerson) []LuckyPerson {  //去除重复的元素
	var result []LuckyPerson           //存放返回的不重复切片
	tempMap := map[LuckyPerson]byte{}  // 存放不重复主键
	for _, e := range slc {
		l := len(tempMap)
		tempMap[e] = 0 					//当e存在于tempMap中时,再次添加是添加不进去的,因为key不允许重复
		if len(tempMap) != l { 			// 加入map后,map长度变化,则元素不重复
			result = append(result, e)  //当元素不重复时,将元素添加到切片result中
		}
	}
	return result
}

到目前为止,我们就拿到全部的去重评论名单啦!
准备抽奖!

2. 如何抽奖?

采用随机种子进行随机选取

func lottery(totalPerson []LuckyPerson) LuckyPerson {  // 抽取中奖选手
	rand.Seed(time.Now().UnixNano())    // 使用随机种子
	index:=rand.Intn(len(totalPerson))  // 生成0到这个列表的长度的一个数字
	return totalPerson[index]  			// 返回中奖选手
}

3. 开奖啦~

让我们看看是谁获奖了啦~

由于一缩再缩,只能缩小到这种程度才能看见抽奖全程。
请添加图片描述
直接截图吧~
在这里插入图片描述在这里插入图片描述

4. 抽奖啦~

点赞评论即可参与抽奖获得一个可可爱爱的神秘中秋礼物哈~ ,
本周日晚上 (9月19号19:30进行抽奖哈)

还不能告诉你哈~ 秘密

在这里插入图片描述

最后

小生凡一,期待你的关注。

想要源代码可以到我扫描下方,然后回复CSDN抽奖~


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/30180.html

抽奖  评论  重复  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 山海不相逢内容精选(温逸尘沈衿)_山海不相逢内容精选(温逸尘沈衿)
  • (番外)+(全书)霍沉洲沈青禾此去经年人未还(霍沉洲沈青禾)_(霍沉洲沈青禾此去经年人未还)列表_笔趣阁(霍沉洲沈青禾)
  • (番外)+(全书)霍沉洲沈青禾(此去经年人未还霍沉洲沈青禾)完结_(霍沉洲沈青禾)列表_笔趣阁(此去经年人未还霍沉洲沈青禾)
  • 「重回八零,拒绝替嫁冲喜」章节彩蛋限时释出‌_卫东玉兰苏夏人气小说未删减节选
  • 重生七零祁同伟不再是农民儿子结局+番外纯净版全书免费重生七零祁同伟不再是农民儿子结局+番外纯净版全书免费
  • 傅雅宁的神女老婆,却在背地承欢作乐顾尘傅雅宁全书在线
  • 全文神女老婆,却在背地承欢作乐全局(顾尘傅雅宁)列表_全文神女老婆,却在背地承欢作乐全局
  • (番外)+(全书)此去经年人未还全书+番外+后续免费下载_(沈青禾霍沉洲)此去经年人未还全书+番外+后续列表_笔趣阁(沈青禾霍沉洲)
  • 完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续列表_完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续(林梦婉)
  • 妻子辱我爸受贿自杀,我掏出一等军功章节选推荐_[陈素云辰朋友]小说精彩章节分享
  • 全书浏览苔藓爬满旧日诺言新上(顾砚廷慕晚夏)_苔藓爬满旧日诺言新上(顾砚廷慕晚夏)全书结局
  • 顾尘傅雅宁(神女老婆,却在背地承欢作乐+后续+结局)结局_(顾尘傅雅宁神女老婆,却在背地承欢作乐+后续+结局全书结局)结局列表_笔趣阁(顾尘傅雅宁)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1