此前在做《Python实现评论情感分析案例》的时候写了个爬虫从豆瓣上爬下了电影《肖申克的救赎》的2000条短评,然后调用SnowNLP来做了情感分析,这算是人工智能技术的一个应用。我的一个老朋友读了我那篇文章后给了个点评,说“主要的还是爬虫,主要能爬来数据,至于做什么分析都是次要的了”,他说的有一定的道理,做数据分析,没有数据,都是扯淡,因此,就写这篇文章,分享一下怎么从豆瓣上爬短评下来的。
从刚开始学习Python的时候第一个案例就是写了一个爬虫来爬百度音乐里的好听音乐MV,当时把经典电影《笑傲江湖之东方不败》的主题曲《沧海一声笑》都给爬下来了,何况其他?我的经验,写爬虫既容易又麻烦,很矛盾?并不是。容易,在于只要分析清楚了网页的HTML结构,用Python来写个爬虫解析HTML爬取数据不是难事,不管静态的还是动态的,有办法搞定。麻烦,也恰恰在于分析网页的HTML结构。
豆瓣的网页结构还是很友好的,很清晰就知道了解析HTML内容的方法,正则表达式难写了写,但花了不到10分钟也就写出来了。然后又创建了mySQL的数据库和存储影评的数据表,写了程序把解析出来的数据存储到数据表里,不说废话,直接上代码:
然后写访问豆瓣的程序,20条网评一个页面,一页页翻过去,调用上面写的函数解析页面HTML,提取数据,存入mySQL的数据表里,代码如下:
整个程序写下来实际用了大概20分钟左右,中间被打断过几次,否则可能会更快一些。运行程序:
查看mySQL数据库,影评已经被爬取下来并且存储到数据表里了:
各位千万不要误会,这个评论绝对不是我发的!这个电影我很喜欢的!!!
在这个案例中主要用到了两个Python知识点,第一个知识点就是爬虫了,第二个知识点是利用pymysql驱动程序来操作mySQL数据库,这两个知识点结合起来就实现了从豆瓣上把针对电影《肖申克的救赎》的短评爬取下来的功能了。
Python除了可以操作关系型的mySQL数据库,同样可以操非关系型的MongoDb,而且在实现上并无不同!这就是Python为什么成为人工智能时代的最佳编程语言的原因之一了!不学点Python,就真的要Out了。
领取专属 10元无门槛券
私享最新 技术干货