既然要分析 豆瓣电影 TOP250 ,
那么肯定就要把相关的数据采集下来,比如排名,电影名,导演,主演等信息.
那就肯定使用一下爬虫咯,如果还不会的话,欢迎看之前的文章:
Python 爬虫学习(一)概述 Python 爬虫学习(二)urllib 基础使用 Python 爬虫学习(三)urllib 进阶使用 Python 爬虫学习(四)正则表达式 Python 爬虫学习(五)爬取电影排行榜及其图片 Python 爬虫学习(六)BeautifulSoup 来袭 Python 爬虫学习(七)爬取淘女郎 Python 爬虫学习(八)爬取知乎关注用户 Python 爬虫学习(九)Requests 库初探 Python 爬虫学习(十)Requests 库探探 Python 爬虫学习(十一)使用 Request 爬取猫眼电影排行 Python 爬虫学习(十二)selenium 来了 Python 爬虫学习(十三)使用 selenium 爬取淘宝商品 Python 爬虫学习(十四)美女写真套图(一) Python 爬虫学习(十五)美女写真套图(二)
当然,你也可以使用豆瓣提供的 API 接口: https://developers.douban.com/wiki/?title=movie_v2 ,提供的数据比较完整:
试了下,这应该是好久之前的信息了,现在调用 API 返回的数据有些已经没了,而且有调用次数限制,还是自己写爬虫采集信息吧,就当练练手!
若不想这么麻烦,也提供采集的数据: https://pan.baidu.com/s/1pMAUr6V
下面就开始进行小小的分析啦,
首先,导入要用到的包以及数据:
查看一下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('douban.csv')
df.head()
df.tail()
说好的 TOP250 呢?这就要吐槽一下 豆瓣电影 TOP250 了,有些链接已经没用了,竟然没有更新,比如说排名 20 的熔炉.
我们让其按豆瓣评分排序,并查看排名前五的电影:
df.sort_values('豆瓣评分', ascending = False).head()
而豆瓣评分超过 9.5 的,原来只有两部:
df[df['豆瓣评分'] > 9.5]
上榜次数最多的导演们:
df['导演'].value_counts()
更多分析,请参考: http://blog.csdn.net/yifei301/article/details/77529840?locationNum=3&fps=1
机智如你,肯定做的比我更好!
来源: http://www.jianshu.com/p/bb7c31da9f07