前言
本文主要简单介绍了对豆瓣电影top250的爬取与分析。爬虫时主要运用的库是re,request,Beautifulsoup,lxml,分析时主要运用的是pandas,matplotlib。最后介绍了爬虫相关的一些参考资料,有兴趣的读者可以自行参阅。具体的代码可参见我的CSDN博客
爬虫
爬虫,我觉得就是用计算机来代替人力,让其模拟人搜索,进行大量重复枯燥的工作。
关于爬虫,现在网上都有比较全面的爬虫教程,这里不多做赘述。我学习的教材主要是 Web Scraping with Python Collecting More Data from the Modern Web 和 用Python写网络爬虫,然后有问题就百度谷歌。不过建议在学爬虫之前,先自行学习一下HTML和正则表达式的知识,可以事半功倍。
思路
首先要找到要爬虫的网页,这里是豆瓣电影 Top 250。然后通过 F12 查看网页源代码,检查元素,定位要爬取的信息,这里可以右击复制xpath,用于爬虫定位。
爬虫定位有三种方法:
- 通过正则表达式定位
- 通过Beautifulsoup中find函数定位
- 通过lxml中Xpath定位
这里不多展开,具体可以参考 用Python写网络爬虫
观察一下网页,可以发现一共有10页,每页有25部电影,每页的域名有相似之处。所以,可以写一个循环,下载每一页的网站,得到该网站所有的电影链接,然后内部再写一个循环,下载每页的电影链接,爬取需要的内容信息。
最后将爬取的结果进行清洗,输出成csv文件。
代码可参见 CSDN博客
具体结果展示如下,数据集见参考资料[3]
分析
本文接下来对爬取的电影数据做了一些简单的分析
三大年份
1994,2004,2010 是豆瓣电影top250出现最多的三个年份
三大导演
史蒂文·斯皮尔伯格 7
克里斯托弗·诺兰 7
宫崎骏 7
李安 5
王家卫 5
大卫·芬奇 4
是枝裕和 4
李·昂克里奇 3
詹姆斯·卡梅隆 3
姜文 3
斯皮尔伯格,诺兰,宫崎骏处于第一档,李安和王家卫是中国导演中上榜次数最多的
最佳编剧
宫崎骏 9
克里斯托弗·诺兰 7
史蒂夫·克洛夫斯 5
王家卫 5
J·K·罗琳 5
乔纳森·诺兰 5
安德鲁·尼科尔 4
彼特·道格特 4
是枝裕和 4
詹姆斯·卡梅隆 3
宫崎骏nb
两大演员
梁朝伟 8
张国荣 8
雨果·维文 7
张曼玉 7
艾伦·瑞克曼 7
加里·奥德曼 6
周星驰 6
马特·达蒙 6
莱昂纳多·迪卡普里奥 6
汤姆·汉克斯 6
梁朝伟和张国荣上榜次数最多
后记
一点想法
这是我个人的第一篇文章。我本人目前大四,数学应用数学专业,有志于从事数据科学相关的研究,正在几乎从零开始学习。最近学习了一周爬虫,完成了这个入门级爬虫实战项目,多有不足之处,欢迎各位读者不吝赐教。
以后我会不定期地更新一点我学习的内容,一来是对自己学习的一个总结,二来也希望可以帮助到别人。
千里之行,始于足下。路漫漫其修远兮,吾将上下而求索。
参考资料
[1] HTML(需FQ)
[2] 正则表达式
[3] 提取码:fim3
[4] CSDN博客