博客园-评论树

Posted .

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了博客园-评论树相关的知识,希望对你有一定的参考价值。

评论数据的处理

我们可以取到的评论数据形式

技术分享图片
comment_list=[

    {"id":1,"content":"111","Pid":None},
    {"id":2,"content":"222","Pid":None},
    {"id":3,"content":"333","Pid":None},
    {"id":4,"content":"444","Pid":1},
    {"id":5,"content":"555","Pid":1},
    {"id":6,"content":"666","Pid":4},
    {"id":7,"content":"777","Pid":3},
    {"id":8,"content":"888","Pid":7},
    {"id":9,"content":"999","Pid":None},

]
技术分享图片

首先,给每条数据添加一个children_list(空列表)

for i in comment_list:
    i["children_list"] = []

得到新的列表

技术分享图片
comment_list = [
    {‘id‘: 1, ‘content‘: ‘111‘, ‘Pid‘: None, ‘children_list‘: []},
    {‘id‘: 2, ‘content‘: ‘222‘, ‘Pid‘: None, ‘children_list‘: []},
    {‘id‘: 3, ‘content‘: ‘333‘, ‘Pid‘: None, ‘children_list‘: []},
    {‘id‘: 4, ‘content‘: ‘444‘, ‘Pid‘: 1, ‘children_list‘: []},
    {‘id‘: 5, ‘content‘: ‘555‘, ‘Pid‘: 1, ‘children_list‘: []},
    {‘id‘: 6, ‘content‘: ‘666‘, ‘Pid‘: 4, ‘children_list‘: []},
    {‘id‘: 7, ‘content‘: ‘777‘, ‘Pid‘: 3, ‘children_list‘: []},
    {‘id‘: 8, ‘content‘: ‘888‘, ‘Pid‘: 7, ‘children_list‘: []},
    {‘id‘: 9, ‘content‘: ‘999‘, ‘Pid‘: None, ‘children_list‘: []}
]
技术分享图片

然后通过变量引用的方法将子评论的内容加到对应的跟评论中

技术分享图片
ret = []
for i in comment_list:
    if i["Pid"]:
        for j in comment_list:
            if j["id"] == i["Pid"]:
                j["children_list"].append(i)
    else:
        ret.append(i)
技术分享图片

得到了我们需要的结果ret

技术分享图片
ret = [
    {‘id‘: 1, ‘content‘: ‘111‘, ‘Pid‘: None, ‘children_list‘: [{‘id‘: 4, ‘content‘: ‘444‘, ‘Pid‘: 1, ‘children_list‘: [{‘id‘: 6, ‘content‘: ‘666‘, ‘Pid‘: 4, ‘children_list‘: []}]}, {‘id‘: 5, ‘content‘: ‘555‘, ‘Pid‘: 1, ‘children_list‘: []}]},
    {‘id‘: 2, ‘content‘: ‘222‘, ‘Pid‘: None, ‘children_list‘: []},
    {‘id‘: 3, ‘content‘: ‘333‘, ‘Pid‘: None, ‘children_list‘: [{‘id‘: 7, ‘content‘: ‘777‘, ‘Pid‘: 3, ‘children_list‘: [{‘id‘: 8, ‘content‘: ‘888‘, ‘Pid‘: 7, ‘children_list‘: []}]}]},
    {‘id‘: 9, ‘content‘: ‘999‘, ‘Pid‘: None, ‘children_list‘: []}
]

# 结论:一旦某个数据引用了一个可变数据类型,这个可变数据类型发生变化,则这个数据也会发生变化

以上是关于博客园-评论树的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫入门教程 54-100 博客园等博客网站自动评论器

Android 博客园客户端 查看评论搜索博主

论知乎是如何评论博客园与CSDN的!!

博客园特效代码

python——关于简单爬取博客园班级成员发的博文的题目发布人阅读评论,再存到csv文件中

博客园排版简单介绍