加入收藏 | 设为首页

Python 爬虫实践:《战狼2》豆瓣影评分析

来源:本站原创 发布时间:2019-05-26

  由于结巴分词要用到pandas,是以咱们这里加载了pandas包。能够行使words_df.head()查看分词之后的结果,如下图所示:

  从上图中能够看出正在div id=”nowplaying“标签起头是咱们思要的数据,内里有片子的名称、评分、主演等音信。是以相应的代码编写如下:

  末了说说收费题目,《逆转裁判4》安卓版采用买断造,一口价15.99美元(约合110元)。《逆转裁判5》奈何着也不会低于这个数吧,更况且这是成步堂龙一的热血回归大变乱呢!

  第一个参数为需求提取数据的html,第二个参数是指定解析器,然后行使find_all()读取html标签中的实质。

  作家图文来自收集、如涉及版权题目,请接洽咱们以便统治。著作实质纯属作家片面意见,不代表本网意见。

  从上图能够看到咱们的数据中有“看”、“太”、“的”等虚词(停用词),而这些词正在职何场景中都是高频时,而且没有实质的寄义,是以咱们要他们举办消灭。

  正在上图中能够看到data-subject属性内里放了片子的id号码,而正在img标签的alt属性内里放了片子的名字,因而咱们就通过这两个属性来取得片子的id和名称。(注:翻开片子短评的网页时需求用到片子的id,是以需求对它举办解析),编写代码如下:

  接下来接对该网址举办解析了。翻开上图中的短评页面的html代码,咱们挖掘闭于评论的数据是正在div标签的comment属性下面,如下图所示:

  不过html中有这么多的标签,该读取哪些标签呢?本来,最纯洁的手腕是咱们能够翻开咱们爬取网页的html代码,然后查看咱们需求的数据正在哪个html标签内里,再举办读取就能够了。如下图所示:

  到此为止,全盘项方针先容就解散了。因为自身也照旧个入门者,接触python不久,代码写的并欠好。并且第一次写工夫博客,表达的有些冗余,请公共多多饶恕,有过错的地方,请公共批判郢正。从此我也会将自身做的幼项目以这种样式写正在博客上和公共一道互换!末了贴上完备的代码。

  我把停用词放正在一个stopwords.txt文献中,将咱们的数据与停用词举办比对即可(注:只消正在百度中输入stopwords.txt,就能够下载到该文献)。去停用词代码如下代码如下:

  刚接触python不久,做一个幼项目来练练手。前几天看了《战狼2》,挖掘它正在最新上映的片子内里是排行第一的,如下图所示。打算把豆瓣上对它的影评做一个理会。

  因为咱们前面只是爬取了第一页的评论,是以数据有点少,正在末了给出的完备代码中,我爬取了10页的评论,所数据照旧有参考代价。

  此中simhei.ttf行使来指定字体的,能够正在百度上输入simhei.ttf举办下载后,放入秩序的根目次即可。显示的图像如下:

  能够看到一起的评论仍旧造成一个字符串了,不过咱们挖掘评论中再有不少的标点符号等。这些符号对咱们举办词频统计时根基没有效,因而要将它们消灭。所用的形式是正则表达式。python中正则表达式是通过re模块来杀青的。代码如下:

  因而要举办词频统计,是以先要举办中文分词操作。正在这里我行使的是结巴分词。借使没有安设结巴分词,能够正在局限台行使pip install jieba举办安设。(注:能够行使pip list查看是否安设了这些库)。代码如下所示:

  importcodecs#codecs供给的open形式来指定翻开的文献的言语编码,它会正在读取的光阴自愿转换为内部unicode

  此时正在comment_div_lits 列表中存放的即是div标签和comment属性下面的html代码了。正在上图中还能够挖掘正在p标签下面存放了网友对片子的评论,如下图所示:

  能够看到和豆瓣网址上面是般配的。云云就取得了最新片子的音信了。接下来就要举办对最新片子短评举管造会了。比如《战狼2》的短评网址为:


Copyright 2017-2023 http://www.jlqfnj.cn All Rights Reserved.