我的编程空间,编程开发者的网络收藏夹
学习永远不晚

基于Python的简易评论区抽奖

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

基于Python的简易评论区抽奖

文章目录

前言

博主空空star
主页空空star的主页

大家好,我是空空star,本篇给大家分享一下《基于Python的简易评论区抽奖》

引入模块

import randomimport requests

获取博客评论

size设置为1000应该够了,不够的话依据实际情况调整。

def comment_list(username,article_id):    url = f'https://blog.csdn.net/phoenix/web/v1/comment/list/{article_id}?page=1&size=1000'    headers = {        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763',        'Cookie': f'UserName={username}'    }    res = requests.get(url, headers=headers)    comments = res.json()['data']['list']    comment_dicts = []    for comment in comments:        if comment['info']['parentId'] == 0:            content = comment['info']['content']            userName = comment['info']['userName']            nickName = comment['info']['nickName']            comment_dict = {                'userName': userName,                'nickName': nickName,                'content': content            }            comment_dicts.append(comment_dict)    return comment_dicts

抽取用户

需要考虑几个点:

  • 排除作者自己
  • 有无按照要求评论
  • 抽取到的用户重复
  • 待抽取的用户个数不足要求的个数(当然一般情况下3、5个都是够的)
def select_users(username,base_content,comment_ds,num):    users = []    if base_content is None:        for item in comment_ds:            users.append(item['userName'])    else:        for item in comment_ds:            # 筛选出按照要求评论的用户            if item['content'] == base_content:                users.append(item['userName'])    # 移除作者自己    if username in users:        users.remove(username)    if num > len(set(users)):        print('待抽取用户个数不足抽取的个数!')    else:        selected_users = random.sample(users, num)        if len(selected_users) != len(set(selected_users)):            print('存在重复用户,请重新抽取!')        else:            print(f'中奖用户:{selected_users}')

程序入口

这里就用陈老老老板的这篇博客做个演示:

if __name__ == '__main__':    # 你的username    username = 'weixin_47343544'    # 参与抽奖活动的博客id    article_id = 131788124    # 你要求的评论内容    base_content = '学java就找陈老老老板'    # base_content = None    # 抽取人数    num = 3    comment_ds = comment_list(username, article_id)    select_users(username, base_content, comment_ds, num)

效果

哈哈,竟然抽到了自己。

中奖用户:[‘m0_64280701’, ‘H1727548’, ‘weixin_38093452’]
Process finished with exit code 0

总结

最后

如果您不知道如何支持我,InsCode AI列了一些支持博主的句子供您参考:

博主写的文章很有深度,收获了很多知识。
博主的写作风格幽默风趣。
博主勇于分享自己的经验和教训,让初学者从中受益匪浅。
博主的思想独到,文章读起来让人格外振奋。
博主为人很好,乐于助人,回复读者的问题也非常及时。
博主的专业知识非常全面,无论是哪个领域的问题都能给出详细的解答。

来源地址:https://blog.csdn.net/weixin_38093452/article/details/131855680

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

基于Python的简易评论区抽奖

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

基于Python怎么实现评论区抽奖功能

这篇文章主要讲解了“基于Python怎么实现评论区抽奖功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于Python怎么实现评论区抽奖功能”吧!1. 分析评论接口首先,我们需要找到评论数
2023-06-22

基于python的Tkinter实现一个简易计算器

本文实例介绍了基于python的Tkinter实现简易计算器的详细代码,分享给大家供大家参考,具体内容如下 第一种:使用python 的 Tkinter实现一个简易计算器#coding:utf-8 from Tkinter import *
2022-06-04

基于Python+Turtle怎么实现绘制简易的大风车

本篇内容主要讲解“基于Python+Turtle怎么实现绘制简易的大风车”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于Python+Turtle怎么实现绘制简易的大风车”吧!Turtle绘制
2023-07-01

基于Python怎样实现一个简易的数据管理系统

这期内容当中小编将会给大家带来有关基于Python怎样实现一个简易的数据管理系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在
2023-06-22

计算机竞赛 基于GRU的 电影评论情感分析 - python 深度学习 情感分类

文章目录 1 前言1.1 项目介绍 2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测 5 最后 1 前言 🔥 优质竞赛项目系列,今天要分
2023-08-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录