数据相关的工作者在工作中会接触各种各样的数据,但是那只是在工作中,一切都在保密协议之内,一旦回到了家里,想玩点数据就变成无米之炊了。
个人采集数据最常用的方法就是爬虫,当然为了图方便也可以去各大数据买卖平台交易获取一些数据。
本人没事喜欢瞎折腾,这里讲下如何自己通过折腾,让生活中的一些事情看起来更加有趣。
时而断被蹂躏的豆瓣
豆瓣经常被各种群体攻击,网上有很多爬虫案例也都是针对豆瓣的,可想豆瓣的反爬虫的团队每天还是挺忙的,谁叫你们网站上的内容充满了娱乐性质。
16年的时候我第一次接触爬虫,就是豆瓣,那时候豆瓣上的东西照着网上的例子随便改改,采集数据像买菜一样简单。
今天再看来,真的是哪里有压迫,哪里就有反抗,小伙变聪明了,对电影信息的排列不再是一页一页得显示了。而是像这样:
很溜的操作,这样的话就不能按照以前的套路把url拼接起来直接爬取数据,因为页面顶端的url是不会改变的,想要查看更多的数据,只能触发点击事件。
俗话说,魔高一尺,道高一丈。有人还说,道高一尺,魔高一丈。无论如何,高一丈的那个一定总是我啦。
selenium是个可以模拟浏览器操作的工具,java、python都可以使用。我这里用到的是python。
在爬取数据时可以根据影视作品的分类来进行,因为如果网页一直不断的点击加载更多,浏览器占用的内存也会不断增加,对使用VPS的小伙伴很不友好,因为一旦内存达到100%,系统会自动kill掉一些进程,前功尽弃。
并且一旦豆瓣的反爬虫机制认为你的行为很像机器人,封掉了ip,那么你之前的操作就是做了无用功。所以为了保险起见,这里分别按照形式、类型、地区进行爬取,做个笛卡尔积,共两千多个类别。
呃,对于爬虫,确实没什么好讲的,不过在寻找如何爬取数据的方法时,还是充满了无限的乐趣。豆瓣想方设法不让你爬取数据,而你却想方设法去获取数据,绝配!
在不懈的努力之下最终获取了4万多条电影相关的数据。
数据现在有了,我们可以干点什么呢?这就比较有趣了。
大家在寻找电影的是一定喜欢评分比较高的,但是又懒得去翻豆瓣。不如写条sql,看看效果如何?
一条语句,就找出了排名前100的电影。这样筛选是否觉得更爽。
当然,当然,做到这些还是远远不够的。因为这在筛选电影时仍然感觉力不从心,信息量太少了。我还想知道每一步电影的导演是谁,主演是谁,什么时间上映的,以及大家的影评是怎样的。
我看完电影时,比较喜欢刷一刷影评,因为本人脑子不太够,看完一遍难免会落下什么细节没有注意到。看了一些影评后,经常会哦!咦!神奇!
这篇乱七八糟的文章就当时抛个砖了。后续我再继续介绍怎样获取电影的影评,并且生成一张词云图发送到自己微信中。
欢迎关注我的微信公众号
领取专属 10元无门槛券
私享最新 技术干货