每当程序员们感叹“人生苦短”的时候,都会想到Python——这段子已经如同“Hello World”一样成为圈子里的流行梗——不过最近,我对Python的感觉还是发生了变化。上周末我们一群奔三的研究僧在南京碰头,我发现大多数公共管理方向的学生学习Python的原始动力来自于网页爬虫——为论文找到更好的数据;但是显然,仅就这个目的而言,新学一门编程语言还是一件不太轻松的事,加上Python3.X与Python2.X命令在语法结构上略有差异,让我越来越感觉在公共管理的江湖上,Python网页爬虫的武林地位有可能被R语言取代。
这一期就来讲讲如何用R语言写网页爬虫,我用爬虫教程惯用的案例——下载和解析豆瓣电影TOP250的数据来做具体演示;对于其他的网页爬虫方法及工具,请参阅我的另一篇文章:抓取网页数据的六种工具,那篇文章里包含一段“百度新闻”的Python爬虫代码。
我在正式装13之前,需要先来解释三个概念:HTML、CSS和 JavaScript,这有助于理解后面的代码;我假设这篇文章的读者没有修过类似“大学计算机基础”这样的课程,如果有读者学习过这门课程,下面这一部分就可以直接跳过。什么是“网页(源代码)”?纯文本
什么是“网页”?就是我们每天用浏览器打开的东西呗——不行,这个定义太感性了,我换一个更理性一点的问题——网页是怎么用代码写成的?要回答这个问题,我们不妨找来一个网页看看,就拿“京东商城”来说事儿吧,毕竟免费给老学长打广告我还是乐意的;下面是京东的主页及源代码(我用的是Microsoft Edge浏览器,网页右击“查看源”,下同;其他浏览器类似):