《数据新闻报道软件工具与应用》詹新惠,陈晓晗,汪惠怡|(epub+azw3+mobi+pdf)电子书下载

图书名称:《数据新闻报道软件工具与应用》

【作 者】詹新惠,陈晓晗,汪惠怡
【页 数】 162
【出版社】 北京:中国传媒大学出版社 , 2021.09
【ISBN号】978-7-5657-3013-9
【价 格】49.00
【分 类】数据处理-应用-新闻报道-软件工具-高等学校-教材
【参考文献】 詹新惠,陈晓晗,汪惠怡. 数据新闻报道软件工具与应用. 北京:中国传媒大学出版社, 2021.09.

图书封面:

图书目录:

《数据新闻报道软件工具与应用》内容提要:

本书以新闻传播学专业学生、数据新闻一线从业者、数据研究爱好者为主要受众,旨在通过对数据新闻流程的介绍,使读者全面、深入理解数据新闻的制作方法与软件应用。本书将按照数据新闻制作的主要流程,从数据搜集、数据清理、数据呈现三个维度,就制作者需要掌握的原则、基本原生工具与方法进行描述,对软件工具进行梳理、分类和介绍,帮助初学者用较快的速度上手,掌握独立制作成熟数据新闻作品的能力。

《数据新闻报道软件工具与应用》内容试读

CHAPTER

第一章

数据搜集方法

自主编程

当前,互联网中存在各种形态的、体量巨大的数据资源,仅凭搜索引擎往往难以准确查找所需的目标数据。在此情形下,“网络爬虫”这种定向搜集数据的方法渐渐受到了重视。

网络爬虫又称“网络蜘蛛”“网络机器人”,指按照一定规则自动抓取万维网信息的程序或脚本。

目前,我们常使用的“网络爬虫”方法主要包括编程语言爬虫和工具爬虫两种。编程语言爬虫,指通过自主编写Python、Node.js、R等计算机编程语言代码的方式进行爬虫;工具爬虫,指利用各类已集成好的软件、应用程序、在线网站等进行爬虫操作。

本章将讲解编程语言爬虫的基本知识,并解析相关操作案例。

第一节网络爬虫“多面手”一Python

一、介绍

Python语言诞生于20世纪90年代,目前该语言已经成为大众耳熟能详且颇受欢迎的计算机编程语言。2017年10月,GitHub公布的年度开发者报告显示Python超越

Java成为第二受欢迎语言。①

Python是一种灵活轻便的脚本语言,具有代码简洁、开发效率高等优点,常

①2017年GitHub2年度报告[EB/0L].(2017-10-10)[2021-07-21].https://octoverse.github..com/2017/.

002数据新闻报道软件工具与应用

用于网站开发与搭建,YouTube、Instagram和豆瓣等网站都是利用Python进行开发的。①

同时,丰富的网络抓取模块、灵活的配置与字符方式,让Pythor被广泛应用于爬虫领域,成为使用最广泛的爬虫语言之一。

二、优点

(1)语法简洁易懂。Python代码简洁且体系成熟,用其撰写爬虫程序所需的时间较短,从工程量上对用户来说比较友好。

(2)生态丰富。Python拥有众多插件库,比如Request、BeautifulSoup、Scrapy、

PySpider等。这些插件库功能丰富,让用户得以顺利适应各种爬虫应用场景。

(3)多线程、进程模型成熟稳定。爬虫是一个典型的多任务处理场景,请求页面时会有较长的延迟,多线程、多进程则可以优化程序效率,提升整个系统的下载和分析能力。

当然,Python爬虫也有一些不完善之处,比如对不规范HTML的适应能力差等。

三、使用范围

Python适合涉及大规模的网站爬取的爬虫工作。利用爬虫进行大规模数据爬取涉及诸多问题,比如多线程并发、分布式爬取和判重机制,而Python对以上问题都有较好的支持。

四、注意事项

(1)对于一些拒绝爬虫的网站,需要采用与对方协商的方式,获得爬取数据的许可。在许可范围内通过修改http包中的header部分来模拟浏览器的工作,完成数据爬取工作。

(2)单线程爬虫不能满足效率需要的时候,可以使用多线程并发抓取。

(3)有时从页面中获取的链接是一个相对链接,不是完整的链接,这种情况下

①方洁.数据新闻概论[M).2版.北京:中国人民大学出版社,2019:90.

第一章数据搜集方法—自主编程003

需要将其与URL其余部分进行拼接。

(4)适度使用代理IP。使用爬虫有可能导致用户自身IP被封,这时可以使用

代理IP,例如,运用Python?第三方库urllib2包中的ProxyHandler类,设置代理访问网页。

在使用任何编程语言或工具进行爬虫时,都需要记住:

第一,目的合理,用之为善。切勿恶意爬取他人的私密数据,避免侵犯隐私权等。第二,爬虫会给目标网站造成压力,因而不能过于频繁地运行代码。

五、案例实践

利用前述知识进行一次简单的Python爬虫搭建,项目目标是获取“微博热搜榜”中的前50条热搜的关键词,并将结果打印到控制台中。

总体来说,数据采集爬虫的实现过程包括如下步骤:

第一,确定数据所在的URL(网页地址);

第二,执行网页请求,解决请求中出现的问题:第三,解析网页,获取格式化数据;第四,存储数据(当前案例中不需要)。

下面将按照以上步骤,完成整个案例操作。

(一)步骤一:确定数据所在URL

网页上一般有两种数据:页面上直接可获取的数据和通过Ajax加载的数据,只有

前者可以通过URL方式获取。

虽然复制网页地址栏即可确定网页URL地址,但仍需先行判断数据类型。

因此:

(1)在浏览器(建议使用Chrome浏览器)中单击右键,选择“查看网页源代码”。

004数据新闻报道软件工具与应用

返巴周

A+向左箱头

关同

前进用

A+陶右希头

重新酸风

CtrleR

首配保管条发布

月厚为

Ctrl+S

1

顾东让理前莎柱家画家题版3787151

打印P网

Ctrl+P

2

外交应中方公有中边填报道28434

投时G

部为此页面创速二培码

3

金巧巧德红失数2361500

翻成中文衡体闲)①

4

数城开分1522879

从Google积取图片说调

5

王8的%ink1331161

查看网页代码)

Ctrl+U

中纪要评论你好李懒英1112497

检查M

Ctrl-Shiftl

40的1028943

图1-1-1单击右键,选择“查看网页源代码”

此时浏览器会打开新的页面,在网页中显示的内容即当前网页的源代码。

view-sourcehttps://s.weibo.com/top/summary

2Chtml>

head>

《neta charset="utf-8

6

《etn■renderer"content"webkit"/>

ntent"initial-scale=1,minimm-scale=1"/>

9

10

11

2

ime.t.sinajs.cn/t4/appstyle/searchpc/css/ps/csalpage.csa?version=202102051814

="stylosheet"/>

re1="stylesheet“/D

图1-1-2当前页面的源代码

(2)使用快捷键Ctl+F打开搜索框,在网页源代码中搜索“热搜榜”页面上显示的文字。例如,热搜榜原文中“外交部回应中方公布中印边境报道”这一条内容,存

外交部回应中方公布中印边境苏1/1

Refer=top”target=”blank“>郭晓东让程莉莎赶紧回家做饭

%83%郑6%8A%A5%冠9%81%93%23&Refer=top”targeti=”b1ank">外交部回应中方公布中印边境报通K/a>

图1-1-3搜索“热搜榜”页面上的相应文字

第一章数据搜集方法一自主编程005

在于网页源代码中,这就说明“热搜榜”是通过页面内容直接加载的,即是前述第一种页面上直接可获取的数据,而非通过Ajax加载的数据。因而此时,只要直接请求网

页的URL即可获得热搜榜数据。

(3)在网页地址栏复制,可以得到需要获取的URL:https:I/s.weibo.com/top/

summary

(二)步骤二:执行网页请求

需要使用Python中的Requestsi模块执行网页请求,并打印请求的结果,代码如下:

import requests

2

from bs4 import BeautifulSoup

微博热搜榜URL

3

4

if__name__=="__main__":

response requests.get("https://s.weibo.com/top/summary")

图1-1-4执行网页请求的代码

如果打印出请求的结果,通过搜索能够再次找到“外交部回应中方公布中印边

境报道”这一关键词,说明请求已成功获得了热搜榜数据。

(三)步骤三:网页解析

(1)再次回到浏览器,单击右键,选择“检查”,打开浏览器控制台。

Elements

ConsoleSources

NetworkPerformance》拿:X

*=▣S0

.

图1-1-5浏览器控制台界面

(2)选中“元素选取”工具。在元素选取模式下(元素选取工具的鼠标箭头为蓝色),点击需要采集的信息。

006数据新闻报道软件工具与应用

搜索

180×13.6

Color

■#0078B6

Font 12px Arial."PingFang SC","Hiragino Sans..

序号

ACCESSIBILITY

Contrast

Aa4.81⊙

Name

外交部回应中方公布中印边境报道

Role

link

1

Keyboard-focusable

0

外回度中方公布中和力墙报酒2984347

3

金巧巧想翻红失败2361590

娟开分1522679

王鸥的wMnk1331161

图1-1-6点击需要采集的信息

此时,浏览器控制台将定位到目标信息所在的标签。

v

图1-1-7目标信息所在的标签

(3)在该标签上右键选择“Copy”,再选择“Copy selector”,复制标签的CSS

Selector路径一此路径用于定位当前标签。

例如,第二条热搜关键词所在标签的CSS Selector为:

#pl_top_realtimehot>table>tbody>tr:nth-child(3)>td.td-02>a

···试读结束···

... .
...

v

//+nx

2

阅读剩余
THE END