柳祖豪---第一次个人编程作业

博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018CS
作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018CS/homework/11732
作业目标 采集腾讯视频里电视剧《在一起》的全部评论信息,把所有数据下载到本地保存到json文件里面comments.json, 页面用js读取文件,将采集到的评论信息做成词云图
作业源代码 https://github.com/SLyin/first-personal-work/tree/main
学号 211803121
  • 作业流程
步骤 做法 耗时
1. 数据采集 使用Python爬虫,爬取腾讯视频电视剧《在一起》的评论 2h
2. 数据处理 把爬取的数据保存到json文件里面comments.json,利用jieba进行分词处理 1h
3. 绘制词云图 利用echarts.js制作词云 4h
4. 代码上传Github 利用git上传 1h
  • 1.爬取腾讯视频电视剧《在一起》的评论

    (1).分析网页源代码,寻找规律

  • 如下图所示,我们每点击一次“查看更多评论”
    右侧的的状态栏中就会增加新的响应

  • 如下图所示
    这是我点击三次查看更多评论之后,所显示的响应

  • 凭借我们当前所发现的,我们知道评论使用了Ajax异步加载的技术
    一般Ajax都是在JS里面,我们现在随便点击一个JS的url

  • 点击进入后我们发现,可以知道每个JS的URL就是评论的存放页面

  • 点击每个js的url我们可以发现
    这些就是我们每次点击“查看更多评论”之后所显示的评论
    可以理解为每个js的url中相当于某一页的评论
    这时我们开始寻找这些存放评论的网页中所蕴含的规律
    我通过观察多个url发现每个url中除了cursor= 与_=之后的数字是变动的其他都是不变的。
    我们可以得出结论url不同的地方有两处:一是cursor=?;二是_=?。
    我们观察下面这些图:


  • 我们可以知道cursor的初始值为0,第二个的url中的cursor为第一个url中preview里last的值。
    而_=可以看成页数没点击一次查看更多评论,url就会更新下一页, _=的值加一。(我这里显示的 _=初始值为1614143634414)
    到这里我们就可以开始编写爬虫代码了

    (2)编写代码,爬取评论保存至comments.json文件中。

  • nice!数据获取成功!

  • 2.数据处理,利用jieba分词,提取高频词汇

  • 因为这是我第一次利用jieba进行分词处理
    所以第一步要先往我的pycharm里面导入jieba库
    我这里附清华大学的镜像文件链接及安装代码
    代码:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba
    这样我们就可以开始编写代码了
    也是因为第一次使用jieba,所以上网查阅了许多资料
    下图就是利用jieba分词进行高频词汇统计的代码

  • 这是得到的高频词文本,共60词

  • 这样我们就得到了分析好的数据了,可以开始绘制词云图了!

  • 3.数据展示,利用js插件echarts.js,绘制词云图

  • 不得不说,自学的时候没有高人点拨你,真的太难了,也亏我自己弄的出来
    下载完echarts5.0的版本之后发现根本没有词云图wordcloud的插件
    又花了好多时间去找插件,找到之后又发现根本不会打代码,只好找度娘
    哎,不多说了直接展示

  • 4.将代码上传到Github
    (1)右建文件夹,点击Git Bash Here

    (2)在命令行中输入git init,使该文件夹进入git的管理

    (3)连接自己的github库

    (4)将刚刚连接的库的内容复制到该文件夹

    (5)进入first-personal-work文件夹,查看分支(我这里建库时,已经创建好分支)

    (6)更换chart分支

    (7)输入git add <需要准备上传的文件名>,准备上传文件(也可以输入 git add . ,直接将文件夹全部内容准备上传)

    (8)写提交说明(Git 每次提交代码,都要写 Commit message【提交说明】,否则就不允许提交。)

    (9)上传到github库(该命令git push -u origin ,master处可更换其他分支,如改为chart)

    (10)重复789三个步骤,将其他代码上传 (共5次Commit message,并且全为英文)



    (11)将两个分支分别合并到主分支,合并后的分支不要删除(切换到主干main上【git checkout main】,合并某个分支到主干master【git merge chart】,上传代码【git push】.)

  • 5.参考资料
    廖雪峰博客-git
    Commit message 和 Change log 编写指南
    Apache ECharts
    Python爬取腾讯视频评论的思路详解
    运用jieba库进行词频统计
    Echars的下载和使用
    使用echarts-wordcloud生成词云

posted @ 2021-02-23 20:30  SLyin  阅读(104)  评论(0编辑  收藏  举报