林成--第一次个人编程作业

博客班级 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创建合并的学习,还有爬虫方面的知识点薄弱,耗费了较长的时间。但是最终我也艰难的完成了此次作业,通过大量的查阅资料,观看视频学习,以及询问同学,借鉴前辈的文章等等等等。。不过我相信通过这两次作业的磨练,下一次我可以出色的完成。 这次作业的过程展现比较简洁,但态度一定端正!

  

 

posted @ 2021-03-04 22:29  lincheng7  阅读(57)  评论(0编辑  收藏  举报