使用Python爬虫获取豆瓣影评,并用词云显示
Python语言流行到现在,目前最受开发者喜爱的功能莫过于它的爬虫功能,以至于很多人以为Python的英语发音也是“爬虫”,其实它是读作“啪善”[‘paɪθɑn] 。而爬取网络信息,只是它的一个功能,它同时也涉及其它领域,比如说现在比较流行的人工智能、科学计算、网络开发等。而在爬取网络信息这个任务中,常用的是使用urllib库和bs4库打开网站并解析页面信息并分析,本文所要介绍的爬取豆瓣影评也是使用这两个库。另外,为了能形象的展示爬取的结果,在项目最后,使用了WordCloud词云对爬取的关键字进行了显示,在显示前,用jieba分词工具提取了影评中常用的关键字。
项目开始前,要做一些必要的准备,比如Python环境的安装,库的下载等。本项目是在Windows下运行,所以首先要在Windows下安装Python。由于这个过程比较简单,在本文中就不做介绍。Python安装完后,需要安装本项目所用的第三方库。如果python的基本环境安装完了,第三方库安装也很简单,直接使用pip工具即可下载安装(前提是机器必须能够连网):
由于本机已经在写文章之前安装过库,所以系统提示已经存在;如果没有安装过,运行“pip install xxx”的命令时可以看到下载和安装的过程及进度。其它所需的第三方库都可以使用此方法下载。环境和库准备完成后,就可以进行代码的实现了。
本项目的主要实现过程分为两个阶段,第一部分先获取豆瓣上某个电影的影评信息;第二部分通过jieba分词和WordCloud把结果用词云的方式展示出来。
Step:获取豆瓣影评,放到文本文件中:
使用python爬取网络信息,最基本的概念就是用urllib等工具打开网站,获取网页信息,然后对所需的信息进行解析并提取感兴趣的内容。在这个过程中,难点在于解析网页内容并获取感兴趣的内容。由于不同的网站页面结构是不一样的,所以需要针对特定的网页结构实现特定的解析代码。在代码实现之前,需要分析网页的内容。
从上面的图片可以看出,爬取之前首先要获取网页的url,通过url才能获得特定的网页内容用于解析。幸运的是,豆瓣上对于特定影片的影评的获取地址格式是固定的,比如:
https://movie.douban.com/subject/4920389/comments?start=1&limit=20&sort=new_sc