林成--第一次个人编程作业
博客班级 | 2018级计算机和综合实验班 |
作业要求 | 软件工程---第一次个人编程 |
作业目标 | 爬取电视剧《在一起》的评论 主要考察数据采集与处理 |
作业源代码 | https://github.com/linchengsex/lincheng/tree/main |
学 号 | <211806225> |
步骤以及思路:
完成本次作业我是按如下步骤完成的:第一步就是爬取电视剧《在一起》的评论 然后进行第二步操作进行数据处理 然后第三步就是数据可视化的操作 最后一部就是上传GitHub。
第一步骤 :爬取电视剧《在一起》的评论
完成此步骤的核心就是爬虫,通过上学期所学到的爬虫技巧,在《在一起》的影评中爬取所需要的东西。爬虫思路如下:抓取url地址
--> 遍历所有url
--> 正则提取评论
--> 保存结果为json
代码如下:
1 for i in range(0, 1024): 2 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(page) 3 source = requests.get(url, headers=headers).content.decode() 4 con='"content":"(.*?)"' 5 comment = re.compile(con,re.S).findall(source) 6 comments.append(comment) 7 id='"last":"(.*?)"' 8 cursor = re.compile(id,re.S).findall(source)[0] 9 page = str(int(page) + 1)
第二步骤:进行数据的处理
即使用jieba进行分词,统计评论中的高频词及数量
代码如下:
cut_words="" for line in open('./comments.json',encoding='utf-8'): line.strip('\n') line = re.sub("[A-Za-z0-9\:\·\—\,\。\“ \”]", "", line) seg_list=jieba.cut(line,cut_all=False) cut_words+=(" ".join(seg_list)) all_words=cut_words.split() print(all_words) c=Counter() for x in all_words: if len(x)>1 and x != '\r\n': c[x] += 1
第三步骤:数据可视化的操作
将采集到的信息转换成可视化的操作。
结合js插件echarts.js和echarts-wordcloud.min.js完成index.html
第三步骤:上传GitHub
(1)先在GitHub上创建crawl和charts两个分支。
(2)随后在两个分支上分别新增写好的代码和绘制的图片和web,并且一步步commit提交信息,且注意提交信息的规范。
(3)将两个分支合并到main上。
(4)最后远程push到GitHub上。
总时间时长 | 10h+ |
查阅资料构思 | 3h |
编写代码 | 5h |
数据处理分析 | 3h |
上传GitHub | 3h |
总结:
很抱歉因为个人原因这次的作业没能够及时完成,通过此次的作业我也深刻的反思了自己的问题。知识点薄弱,专业技能较差。在完成本次的作业过程中我遇到了比较多的问题,但其中最苦恼我的是git创建合并的学习,还有爬虫方面的知识点薄弱,耗费了较长的时间。但是最终我也艰难的完成了此次作业,通过大量的查阅资料,观看视频学习,以及询问同学,借鉴前辈的文章等等等等。。不过我相信通过这两次作业的磨练,下一次我可以出色的完成。 这次作业的过程展现比较简洁,但态度一定端正!