1、背景介绍
电影数据的采集要从我的实习工作开始,当时因为要讲一堂关于数据分析的课,一直没有找到合适的数据,直到在网上看到有关豆瓣电影数据的相关分析。自从实习用了豆瓣电影实例作为数据分析课堂的比较好的一堂课之后,我一直想办法每年都可以固定的采集新增加年份的数据,于是我有了篇技术文章和帖子。
2、基本要求
简单HTTP协议(理解GET和POST请求)
一门数据库,将数据存贮,基本的sql语句
python或者其他一门编程语言,我采用简单易用的python
3、过程介绍
豆瓣的电影数据,每一个电影都有一个id,用来标志不同的电影数据,我首先采集所有电影的id数据,然后进入具体的电影id页面,获取该电影的详细信息,每个条目信息获取后,构造sql语句,最后将采集的数据保存插入数据库即可。
(1).取得所有电影的ID条目信息
首先,打开豆瓣电影分类页面,该页面可以对所有豆瓣电影数据分类进行查看。点击“加载更多”便会看到后面加载更多的电影数据。
打开浏览器,按F12,点击加载更多,可以看到浏览器发送了一个get请求,大概如下:
浏览器抓取的js请求查看详细信息,发现get传参,数据如下:
get传参range表示评分范围,tags表示分类标签,start表示下一次请求20个数据的开始值
(2).取得具体电影ID的详细信息
1、使用网页,打开获取的条目中的网页2、使用豆瓣api,获取数据。
获取所有数据id,电影id条目,点击豆瓣电影分类标签可以获取所有电影数据json数据。
获取具体某一些电影的条目信息,有两种办法。
各有优缺点,要求每分钟请求次数不超过40次。否则会被封号的。。。
遇到的一些问题:
1、采用API获取json电影条目信息,请求一次休息5s,不会被封IP
2、请求网页数据休息5s会被检测异常请求,考虑使用代理库进行数据采集
相关的参考:
更新中,请期待哦
网友评论