三种编程语言,带你玩转数据采集 | 数据新闻工具之一
优采云 发布时间: 2022-08-12 17:24三种编程语言,带你玩转数据采集 | 数据新闻工具之一
编者按
“数据新闻”这种全新的新闻报道形态,从数据中挖掘线索、以可视化方式呈现故事,其核心是对数据的处理。有效利用数据分析技术和可视化软件,是我们提高数据新闻制作能力的重要一步。
《数据新闻报道软件工具与应用》旨在提高新闻学子、媒体人的数据新闻领域制作技能,对数据新闻的*敏*感*词*式进行了介绍,并配以详尽的案例练习、*敏*感*词*带领读者学习技术工具。
接下来,我们将推出一系列微信文章,向读者朋友们介绍相关要点知识,更多内容请大家持续关注。
数据搜集是数据新闻的生产的第一步,数据新闻工作者可以借助网络爬虫工具,在互联网海量的数据资源中定向获取数据。网络爬虫又称“网络蜘蛛”“网络机器人”,指按照一定规则自动抓取万维网信息的程序或脚本。目前,我们常使用的“网络爬虫”方法主要包括编程语言爬虫、工具爬虫。其中编程语言爬虫,指通过自主编写Python、Node.js、R等计算机编程语言代码的方式进行爬虫。本期将介绍三种编程语言爬虫的基本知识,并解析相关操作案例。
01
网络爬虫“多面手”——Python
介绍
Python语言诞生于20世纪90年代,是一种灵活轻便的脚本语言,具有代码简洁、开发效率高等优点,常用于网站开发与搭建,YouTube、Instagram和豆瓣等网站都是利用Python进行开发的。同时,丰富的网络抓取模块、灵活的配置与字符方式,让Python被广泛运用于爬虫领域中,成为使用最广泛的爬虫语言之一。
使用与实践
Python适合涉及*敏*感*词*的网站爬取的爬虫工作。利用爬虫进行*敏*感*词*数据爬取涉及诸多问题,例如多线程并发、分布式爬取和判重机制,而Python对以上问题都有较好的支持。
如若想尝试简单的Python爬虫搭建,获取“微博热搜榜”中的前50条热搜的关键词。教学详情见《数据新闻报道软件工具与应用》第3-8页。
02
简单高效“小爬虫”——Node.js
介绍
JavaScript语言是当下互联网最为流行的脚本语言,被广泛应用于Web应用开发,常用来为网页添加各式各样的动态功能,Node.js则是一个基于Chrome V8引擎的JavaScript运行环境,通俗来说,就是运行在服务端上的JavaScript,能够运用于网络爬虫。Node.js的语言适用性广,除此之外,它自带异步架构,对于垂直网站的爬取具有较好的支持,但对于分布式爬取的支持较弱,*敏*感*词*爬虫项目的使用难度较高。
使用与实践
Node.js的驱动语言就是JavaScript,对许多网页拥有与生俱来的“适配性”。当Node.js采取单线程异步方式并发爬取页面时,一个页面出现未返回的情况并不会阻塞后面页面的加载。与只有通过多线程才能完成这一功能的Python相比,Node.js更加方便高效。
如若想学习并尝试简单的Node.js爬虫搭建,可查阅《数据新闻报道软件工具与应用》第10-15页。为方便与Python爬虫进行比较,教程继续选择“微博热搜榜”中的前50条热搜关键词进行抓取。
03
代码简洁易上手——R语言
介绍
R语言是一个开源的数据统计分析和图形处理的环境,其中集成了多种数据统计模型(如:线性和非线性建模、经典统计测试、时间序列分析、分类与聚类等),主要用于统计分析、绘图、数据挖掘和抓取网络数据。
与Python相比,R相对直观,规则更加灵活;可处理多种类型的网页,且代码简洁。虽然R语言使用者需要有一定的基础,可一旦掌握,在特定语言包、场景、库Rstudio中使用更加方便,如制作可视化等。
使用与实践
R语言常用于处理数据量小于百万级的爬虫任务。同时,R语言是免费的开源软件,在进行学术研究时,不必担心版权问题。
如若想尝试R语言爬虫搭建,可查阅《数据新闻报道软件工具与应用》第16-18页。为方便与Python、Node.js爬虫进行比较,教程继续选择“微博热搜榜”中的前50条热搜关键词进行抓取。
案例检索
抓取“微博热搜榜”中的前50条热搜关键词
编程语言
对应页数
Python
3-8页
Node.js
10-15页
R
16-18页
以上内容可在《数据新闻报道软件工具与应用》中查阅
购书链接: