温佳超---第一次个人编程作业

作业介绍

博客班级 2018级计算机和综合实验班
作业要求 第一次个人编程作业
作业目标 Python爬取腾讯视频《在一起》评论,利用分词器处理数据,生成词云,将代码上传到Github
作业源代码 第一次个人编程代码
学号 211806133

时间记录

步骤 具体做法 时间
  1. 进行数据采集 | 采集腾讯视频里电视剧《在一起》的全部评论信息 | 2h
    2.进行数据处理 | 把所有数据下载到本地保存到json文件里面comments.json, 页面用js读取文件 | 5h
    3.数据分析展示 | 将采集到的评论信息做成词云图 | Nh
    4.代码上传到Github | 上传到Github | 30min

代码介绍

  

1.Python爬虫

  前言

在某些网站 ,当我们滑下去的时候才会显示出后面的内容,就像淘宝一样,滑下去才逐渐显示其他商品,这个就是采用 Ajax 做的,然后我们现在就是要编写这样的爬虫。

  主要内容

  规律分析
  只抓取一页的评论
  自动抓取全部评论
  总结

  规律分析

  我们需要分析加载评论的规律

  1.首先使用谷歌浏览器打开腾讯视频里电视剧《在一起》的全部评论信息

  

  2.然后再多次点击查看更多评论

  

  3.按下F12键,可以得到多个变化的网址

  

   4.经过多次寻找规律,可以发下如下规律(请求URL 中只有 cursor 和 source 进行了改变,其他是不变的:cursor 其实是上一个用户data中的last所对应的数值; source 是在第一个的基础上进行加一操作)

  

  

  

  5.发现评论网址 的规律后,接下来就是评论内容

  发现评论内容在 content 里面

  

  只抓取一页的评论

  知道规律后,可以试试抓取评论内容

  接下来我们尝试只抓取一个链接里面的内容

  

  自动抓取全部评论

  由于上学期所学的大数据信息采集与预处理课程中,多次出现了403Forbidden的现象,知道大多数网站都会采取的反爬虫措施。

  为防止此现象的出现,借助某种方式来伪装我们的IP,让服务器识别不出是由我们本机发起的请求。一种有效的方式就是使用代理。

  还采取了异常处理,但还不是很全面,仍然是需要改进的。

  

  总结

  在爬取数据时,由于利用循环来一页一页的采集腾讯视频里电视剧《在一起》的评论信息,所以需要知道总的评论数来大致得到总的页数,由此会出现少部分评论信息的丢失

2.数据的处理

  首先从一个文本文件读入文本,并作了一些简单的替换,比如替换多个空格为单空格等。
  使用关键词提取功能,提取权重最高的10个关键词。
  使用精确模式对文件内容分词。
  根据关键词和分词结果,统计词频。
  排序并返回词频最高的单词和出现次数。

  

3.数据分析展示

  利用echarts.js制作词云

  

  

4.代码上传到Github

   Git具体步骤:

    (a).新建一个“第一次编程”文件夹,里面添加几个文件。右击“第一次编程”文件夹根目录,点击“Git Bash Here”,打开git命令行。

    (b).在命令行中,输入“git init”,使“第一次编程”文件夹加入git管理

     

    (c).输入“git remote add origin xxxx“ (git remote add origin 你自己的https地址),连接你的guthub仓库。

     

    (d).将Git中的仓库内容复制到该文件夹中,这是文件夹会新建一个first-personal-work文件

     

    (e).进去first-personal-work文件,查看所有分支,如需更换(输入 “git checkout crawl”)

     

     

    (f).输入“git add .”(不要漏了“.”),将文件夹全部内容添加到git;也可以输入“git add 上传文件的名字” ,将此文件内容添加到git

     

    (g).输入“git commit -m "first"”(“git commit -m "提交信息"”)

     

    (h).输入“git push -u origin master(可以更换其他分支)”,上传项目到Github。这里会要求输入Github的账号密码,按要求输入就可以。

     

    (i).将两个分支分别合并到主分支,合并后的分支不要删除

      从当前分支切换到主干main上("git checkout main");合并某个分支到主干master("git merge chart");上传代码(git push)

      

遇到的问题

  1.当爬取腾讯视频的评论太多次导致出现反爬的现象,故参考网上的方法,采取IP代理,虽然上学期有学过一点,但学艺不精。

  2.第一次接触词云,通过多次在百度搜索各种相关资料来了解,但学习还是比较少,希望以后有时间可以再深入学习下。

参考资料

1.Python爬虫实战:爬取腾讯视频的评论中所使用的代理

2.jieba“结巴”中文分词:做最好的 Python 中文分词组件

3.爬取电影影评 (HTML 页面词云)

4.Python爬取微博热搜并用Echarts词云展示

5.前端可视化数据--echarts

6.git创建分支提交远程分支,将分支branch合并到主干master

posted @ 2021-02-18 23:05  wind-wen  阅读(450)  评论(2编辑  收藏  举报