python域名正则表达式_python爬虫实战一:豆瓣电影top250爬虫+分析

62cf47434b5264ee12fe7bbfc2b546c6.png

前言

本文主要简单介绍了对豆瓣电影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,用于爬虫定位。

86976fce7429d82db1eb21a9bff3497b.png

fc739e85a50abf10274afcfed0d884bd.png

65c1730345217f037610f4054c59724a.png

爬虫定位有三种方法:

  1. 通过正则表达式定位
  2. 通过Beautifulsoup中find函数定位
  3. 通过lxml中Xpath定位

这里不多展开,具体可以参考 用Python写网络爬虫
观察一下网页,可以发现一共有10页,每页有25部电影,每页的域名有相似之处。所以,可以写一个循环,下载每一页的网站,得到该网站所有的电影链接,然后内部再写一个循环,下载每页的电影链接,爬取需要的内容信息。

最后将爬取的结果进行清洗,输出成csv文件。

代码可参见 CSDN博客

具体结果展示如下,数据集见参考资料[3]

34c6249954bfbb151e1f22646d2204ad.png

分析

本文接下来对爬取的电影数据做了一些简单的分析

三大年份

50e5b2f3536fff5860a92b764351bc87.png

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博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值