一、背景
前些日子突发奇想,想看看日本小电影(当然就是那种电影啦)女演员之间是什么关系,于是就有了这个系列的文章。今天首先介绍一下总体的思路以及利用爬虫获取数据部分。
二、思路
主要思路如下:
1.利用爬虫在视频网站上获取每一部电影的演员表,若两人同时出现在同一部电影中,则认为是一次合作。
2.将上一步获取的数据进行整理成形如“演员A—演员B”的形式。
3.以演员为节点,合作关系为边,利用社交网络(social network)分析方法进行可视化与分析。
三、爬虫编写
这个爬虫是用Python 2.7版本编写的,在整个过程中遇到了不少的编码问题,以后还是用Python 3吧,号称这种问题能少一些。
1.流程
我们要爬取的网站结构是这样的,首先是主页:
https://xxxx.xx/cn/released/page/1
这里可以用最后的数字对整个网站的页面进行遍历。然而,电影页只有电影的名称和封面,要想获取演员信息,还要进到电影详细信息页:
https://xxxx.xx/cn/movie/5myc
以上电影详细信息页的超链接可以由主页获得。
因此,爬虫的流程就是:
主页获取电影详细信息页的超链接
进入电影详细信息页获取演员信息
2.正则表达式设计
利用浏览器查看源码,网站主页的代码如下所示:
<a class="movie-box" href="https://xxxx.xxcn/movie/5my8">
<div class="photo-frame">
<img src="https://jp.netcdn.space/digital/video/13bsy00009/13bsy00009ps.jpg" title="电影名字少儿不宜">
</div>
<div class="photo-info">
<span>电影名字少儿不宜 <br><date>BSY-009</date> / <date>2016-08-17</date></span>
</div>
</a>
</div>
因此,我们的正则表达式为:
<