侯朝阳---第一次个人编程作业

博客班级 所属班级
作业要求 作业要求
作业目标 实现数据采集与处理,用词云图的方式将数据可视化
作业源代码 代码链接
学号 211806163

一.时间安排

步骤 花费时间
数据采集 1h
数据处理 3h
数据可视化 2h
上传代码 30min
写作文 30min

二.数据采集与处理

对于腾讯视频的评论信息,我首先想用的是selenium做的,但是出现了一些问题,就是我这个selenium必须要手动滑倒底部,可是滚轮底部的代码都有写,点击展开评论的也有就是driver启动打开网页后,需要我手动拉一下才可以自己爬,而且几条还是重复的,之后就一切正常,我有点云里雾里(害,对不起杨雄老师每周一都有的一下午实验课)于是请教大佬,评论页是采用异步加载(舒服Ajax)核心代码如下

for i in range(0,n):
    url = 'https://coral.qq.com/article/5963120294/comment/v2?callback=_article5963120294commentv2&orinum=10&oriorder=o&pageflag=1&cursor=' + cursor + '&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=1&_=' + str(source)
    html = requests.get(url, headers=headers).content.decode()
    connent='"content":"(.*?)"'
    comment = re.compile(connent,re.S).findall(html)
    comments.append(comment)
    id='"last":"(.*?)"
    cursor = re.compile(id,re.S).findall(html)[0]
    page = str(int(source) + 1)

数据处理jieba分词,pip install jieba 安装库,然后先格式化数据,然后分词,选出top200代码:

for line in open('./comments.json',encoding='utf-8'):
    line.strip('\n')
    line = re.sub("[A-Za-z0-9\“\”\,\。\:]", "", line)
    seglist=jieba.cut(line)
    cutwords += (" ".join(seglist))
for k,v in c.most_common(200):
    comment = {}
    comment["name"] = k
    comment["value"] = v
    comments.append(comment)
    print(comment)

三.数据可视化

下载完echarts.js和echarts-wordcloud.js之后处理完之后图片:

四.上传到代码仓库

1.git init 初始化
2.git clone url url为本次作业的仓库链接地址
3.git remote add origin url 添加origin为你的远程仓库地址
4.git checkout -b name 添加分支并切换到该分支或切换至该分支,name为分支名
5.git add filename filename为文件名,添加到缓存区
6.git commit -m "注释"提交到版本库
7.git push origin name提交至远程仓库
8.git checkout main 切换到主分支后git merge chart+ git merge crawl合并到主分支

五.结语

1.重新温习了爬虫和数据采集与处理的相关知识
2.接触到了新知识——数据可视化中的词云图
3.在完成的过程中认识到了自己对一些知识掌握的不足
4.对github有了更深的认识和学习
5.差点忘了提交日期,大早上赶紧补了,元宵节快乐

六.参考文献

1.Python爬取腾讯视频评论的思路详解
2.Commit message 和 Change log 编写指南
3.echarts实现词云
4.ECHARTS官网

posted @ 2021-02-26 09:23  瑟瑟发抖6  阅读(72)  评论(0编辑  收藏  举报