侯朝阳---第一次个人编程作业
博客班级 | 所属班级 |
---|---|
作业要求 | 作业要求 |
作业目标 | 实现数据采集与处理,用词云图的方式将数据可视化 |
作业源代码 | 代码链接 |
学号 | 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官网