美文网首页
Python爬虫运用之数据分析

Python爬虫运用之数据分析

作者: GrasFish | 来源:发表于2017-02-18 00:17 被阅读0次

      今天,我爬取了豆瓣,的《逃避可耻但很有用》的短评,可能队数据分析还不太了解,所以爬取什么都不太懂,也就爬取了评星,日期,还有评论。以下是代码。



# -*- coding: utf-8 -*-

import requests

frombs4 import BeautifulSoup

import re

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0','Cookie':'bid=xQ0BMVjSem8; __utma=30149280.835324949.1486297712.1487313940.1487321509.4; __utmz=30149280.1487321509.4.4.utmcsr=douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/search; ll="118130"; _pk_ref.100001.8cb4=%5B%22%22%2C%22%22%2C1487321934%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D39_qCZOrp9cDojY4vvLUS5DYN0eU4kifU3CGzStU3V7%26wd%3D%26eqid%3Dc0ddddb90001116a0000000258a69c0f%22%5D; _pk_id.100001.8cb4=ebaf729a854c56d8.1487245175.3.1487321957.1487314158.; _vwo_uuid_v2=1A8F9B4EEC4F6DBD33D4A2263CFEEB5D|a56d1425e9df513dba4da1881d8ab8fb; __utmc=30149280; ps=y; push_noty_num=0; push_doumail_num=0; __utmv=30149280.15792; ap=1; __utmb=30149280.5.10.1487321509; _pk_ses.100001.8cb4=*; __utmt=1; dbcl2="157929414:qvDHVrTju6Y"; ck=BMh9'}

class Comments():

def __init__(self,url):

self.url = url.split('?')[0]#分隔页面

self.pages = []

def getPages(self,first)

:trueurl = self.url + first

try:

html = requests.get(trueurl,headers=headers).text

nexth = BeautifulSoup(html,'html').find('div',id='paginator').find_all('a')[-1]

nextpage = nexth['href']self.pages.append(nextpage)

print len(self.pages)

if len(self.pages) > 50:

return u'前',len(self.pages),u'页抓取结束'

return self.getPages(nextpage)#递归地抓取页数

except AttributeError :

print u'页面提取结束!'

def getInfo(self):

f = file("comments.txt",'a+')

for page in self.pages:

pageulr = self.url + page

content = requests.get(pageulr,headers=headers).text

try:

all_info = BeautifulSoup(content,'html').find('div',id="comments").find_all(class_="comment-item")

for info in all_info:

pattrern = re.compile('(.*?)(.*?)<',re.S)

infolist = re.findall(pattrern,str(info))

for il in infolist:

star = il[0].strip()

time = il[1].strip()

comments =il[2].strip()

data = 'star='+star + '\ttime=' + time + '\ncomments=' + comments + '\n\n'

f.write(data)

except AttributeError:

print u'评论提取结束'

f.close()

print u'文件写入完毕!'

url ='https://movie.douban.com/subject/26816519/comments?status=P'

com = Comments(url)

com.getPages('?status=P')

com.getInfo()

以上


获得的数据用xlsxwriter分析得到三张图(= =!)很少吧。。

时间分布

从将近30页的评论中获取的时间分布,可以看出来2016-12-20开始爆发式增长的评论量!!

查了下《逃》在日本首播的时间是2016-10-11,这时候还没几个人评论。。

然后就是到2016-11-30,这时候第一批翻译已经出来了,但人气还是很低的样子 = =, 然后就是2016-12-20 号的最终回字幕组赶出来了!评论量瞬间飙升!看来大家都喜欢看完整部剧再来评论呀。(瞎几把分析)

但是,评论多就人气好了吗,那可不一定,于是我又分析了高峰值评论区间的评分和整体评分趋势

上图:整体区间 下图:高峰值区间

看得出来,高峰值的区间内评分波动较小,均值稳定在4悉星上下,这区间也算是自来水们的馈赠了。整体上波动较大,可能受众人群不同,对作品的评价也不同。


然后就是评分分布

评分占比

最多的评分是四星,从评论也得知,四星的占比大部分是gakki老公(误),就是新垣结衣的粉,少部分是男主新野源的粉丝(程序猿表示感动)。


总之,这一场毫无意义的数据分析就结束了……

吗?

不,我还要贴一贴一些评论才行!

洗洗睡。 没错没错! 好的。


就这样结束吧~~还是拖到了凌晨。起床再爬取一些更有意义的数据然后分析吧。



记第一次数据分析 :D


相关文章

  • 初识python

    python作用 自动化运维、自动化测试、大数据分析、爬虫、Web... Python的种类 CpythonPyt...

  • 2018-08-29

    牵引力浅析Python的就业方向有哪些 python的发展主要有几个方向:web、爬虫、数据分析、测试、运维、人工...

  • 2018-08-29

    牵引力浅析Python的就业方向有哪些 python的发展主要有几个方向:web、爬虫、数据分析、测试、运维、人工...

  • 2018-08-29

    牵引力浅析Python的就业方向有哪些 python的发展主要有几个方向:web、爬虫、数据分析、测试、运维、人工...

  • 哪种 Python 程序员最赚钱?

    作者 |XksA 责编|郭芮 本文以Python爬虫、数据分析、后端、数据挖掘、全栈开发、运维开发、高级开发工程师...

  • 神级python工程师教你从网站筛选工作需求信息,助你就业

    本文以Python爬虫、数据分析、后端、数据挖掘、全栈开发、运维开发、高级开发工程师、大数据、机器学习、架构师 这...

  • Python与PyQt5

    Python Python是一门动态的强类型语言,可用于网址开发,数据分析,网络爬虫,运维开发等方面,随着社会对大...

  • python爬虫+数据分析

    目标定好,python爬虫+数据分析

  • Python大佬抓取了招聘信息,告诉你哪种Python 程序员最

    本文以Python爬虫、数据分析、后端、数据挖掘、全栈开发、运维开发、高级开发工程师、大数据、机器学习、架构师这1...

  • 美女带你学Python基础

    Python简单易学适合新手,应用广,爬虫 Web 开发、网络编程、自动化运维、Linux 系统管理、数据分析、科...

网友评论

      本文标题:Python爬虫运用之数据分析

      本文链接:https://www.haomeiwen.com/subject/tczlwttx.html