粤教版(2019)信息技术 必修1 5.2 大数据采集(2课时)课件(28+26张ppt)+4视频

资源下载
  1. 二一教育资源

粤教版(2019)信息技术 必修1 5.2 大数据采集(2课时)课件(28+26张ppt)+4视频

资源简介

(共26张PPT)
5.2大数据的采集
数据采集的方法和工具
01
数据的存储和保护
02
目录
复习:一、数据采集的方法和工具
数据采集的基本方法包括系统日志采集法、网络数据采集法和其他数据采集法。
Python网络数据采集程序使用的扩展库
1.Numpy
2.SciPy
3.Pandas
4.Matplotlib
Python如何使用这些库?
1.使用import语句导入模块的语法:
import module
关键名 模块名
例一:import
numpy
#导入numpy库模块
例二:import
numpy
as
ny  #引入numpy库模块,程序代码中用np表示
例三:import
matplotlib.pyplot
as
plt
#调用matplotlib库pyplot方法,用plt表示
2.使用from
import语句导入(从库模块中调用方法):
from
 module
import
 name
关键字 模块名 
关键字 
方法名
from
pylab
import
#引入pylab库模块中的所有方法
from
PLT
import
Image
#从PLT库中调用Image方法
arrange()函数
函数说明:arange([start,]
stop[,
step,],
dtype=None)根据start与stop指定的范围以及step设定的步长,生成一个
ndarray。
dtype
:
dtype
The
type
of
the
output
array.
If
`dtype`
is
not
given,
infer
the
data
type
from
the
other
input
arguments.
np.arange(0,60,2)
生成从0到60的步距为2的数组,其中0为初始值,60为终值,2步距
np.arange(60
生成从0到59的默认步距为1的数组
运行结果分别为:
[
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58]
[
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59]
range(start,
stop[,
step])
这是一个通用的函数来创建包含算术级数的列表。它最常用于for循环。参数必须是纯整数。如果省略step参数,则默认为1。
如果省略start参数,则默认为0。完整的形式返回一个普通整数列表。如果步骤是肯定的,最后一个元素是小于停止的最大元素;
如果step是负数,最后一个元素是大于stop的最小元素。
步骤不能为零(否则报错)。
1. bs4: beautifulsoup4库,是一个解析和处理HTML和XML的第三方库
使用requests库获取HTML页面并将其转换成字符串后,需要进一步解析HTML页面格式,提取有用信息,这需要处理HTML和XML的函数库
find_all()方法:
BeautifulSoup.find_all(name,attrs,recursive,string,limit)
作用:根据参数找到对应标签,返回列表类型。
2. requests库:是一个简洁且简单的处理HTTP请求的第三方库
它的最大优点是程序编写过程更接近正常URL访问过程。
它支持非常丰富的链接访问功能,包括国际域名和URL获取、HTTP长连接和连接缓存、HTTP会话和Cookie保持、浏览器使用风格的SSL验证、基本的摘要认证、有效的键值对Cookie记录、自动解压缩、自动内容解码、文件分块上传、HTTP(S)代理功能、连接超时处理、流数据下载等。
所以网络爬虫和信息提交只是requests库能支持的基本功能。
3. xlwt:Python语言中,写入Excel文件的扩展工具。相应的有xlrd扩展包,专门用于excel读取。可以实现指定表单、指定单元格的写入。
4. datetime
模块
datetime是python处理时间和日期的标准库,功能要比
time模块
强大,且使用起来更为方便~
datetime模块中定义的类
datetime.date
表示日期,常用的属性有:year,
month和day
datetime.time
表示时间,常用属性有:hour,
minute,
second,
microsecond
datetime.datetime
表示日期时间
#
标题
all_title
=
soup.find_all('span',
class_="title")
for
j
in
all_title:
soup_title
=
bs4.BeautifulSoup(str(j),
"html.parser",
)
title.append(soup_title.span.string)
#
店铺名称
all_store
=
soup.find_all('span',
class_="shopNick")
for
k
in
all_store:
soup_store
=
bs4.BeautifulSoup(str(k),
"html.parser",
)
store.append(soup_store.span.string)
python自带的html.parser模块
网页解析器
  1、网页解析器名词解释
  首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出“我们需要的有价值的数据”或者“新的URL链接”的工具。
  2、网页解析图解
  
#
价格
all_price
=
soup.find_all('span',
class_="pricedetail")
for
l
in
all_price:
soup_price
=
bs4.BeautifulSoup(str(l),
"html.parser")
price.append(soup_price.strong.string)
#
销售量
all_paynum
=
soup.find_all('span',
class_="payNum")
for
m
in
all_paynum:
soup_paynum
=
bs4.BeautifulSoup(str(m),
"html.parser")
paynum.append(soup_paynum.span.string)
#
数据验证
print(len(title))
print(len(store))
print(len(price))
print(len(paynum))
if
len(title)
==
len(store)
==
len(price)
==
len(paynum):
print("数据完整,生成
%d
组商品数据!"
%
len(title))
#
写入excel文档
print("正在写入excel表格...")
wookbook
=
xlwt.Workbook(encoding='utf-8')
#
创建工作簿
data_sheet
=
wookbook.add_sheet('demo')
#
创建sheet
#
生成每一行数据
for
n
in
range(len(title)):
data_sheet.write(n,
0,
n+1)
data_sheet.write(n,
1,
title[n])
#
n
表示行,
1
表示列
data_sheet.write(n,
2,
store[n])
data_sheet.write(n,
3,
price[n])
data_sheet.write(n,
4,
paynum[n][:-3])
wookbook.save("taobao.xls")
#保存文件
print("写入excel表格成功!")
3.其他数据采集法
应用领域:企业生产经营或科学研究等保密性要求较高的数据。
使用方法:与企业或研究机构合作,使用特定系统接口等相关方式收集数据。
二、数据的存储和保护
二、数据的存储和保护
二、数据的存储和保护
数据的存储的方式
(1)把数据存在本地内部。
(2)把数据放在第三方公共或私有的“云端”存储。
二、数据的存储和保护
云存储已经成为存储发展的一种趋势,其技术也日益成熟。云存储是把各类数据存储在虚拟的逻辑模型里,其物理空间存储在跨越多个地域放置的众多服务器中,为用户提供统一、灵活、安全的“云存储服务”。
云存储供应商的作用:拥有并管理这些服务器,负责管理数据的使用和访问权限,以及云存储环境的日常运营和维护。
数据的存储的方式:采用分布式文件存储或NoSQL数据库存储。
1.数据的存储
2.数据的保护
数据安全保护指数据不被破坏、更改、泄露或丢失。
防备数据安全隐患的常规方法:杀毒软件和防火墙。
数据保护的有效方法:拷贝、备份、复制、镜像、持续备份。
加密技术分为对称式加密和非对称式加密
对称式加密是指加密和解密用的是同一个密钥。非对称式加密是指加密和解密用是两个不同的密钥,必须配对使用,否则不能打开加密密钥
数据安全技术:
数据安全保护技术的使用特点。
数据安全保护技术
适用场合
备份介质
备份距离
管理
拷贝/FTP
简单小数据量备份,个人不定期的文件保护等
磁盘

手动执行,占用人力资源。
?备份
?有归档需求的用户等
磁带机
磁带库
磁盘
近,以本地备份为主
备份软件对使用者要求较高,需要掌握数据库、文件系统等综合知识。
复制技术
?企业等
?磁盘
?远近皆可。
设定策略后无须人工干预,复制与恢复的过程都很简单。
?镜像技术
企业等
?磁盘
近,带宽和距离影响延迟时间和性能,因此多以本地为主
?简单。
持续备份
企业等
磁盘
远近皆可
连续备份,可以实现过去任意一个时间点的数据恢复。
隐私泄露的途径
数据的隐私保护:
数据的隐私保护方法
(1)技术手段
常用的隐私保护有:

数据收集时进行数据精度处理;

数据共享时进行访问控制;

数据发布时进行人工加扰;

数据分析时进行数据匿名处理等。
(2)提高自身的保护意识。
(3)要对数据使用者进行道德和法律上的约束。
实践:自主阅读课本110页,了解什么是网络缓存? 同时查找自己的Internet临时文件。
谢谢观看(共28张PPT)
5.2大数据的采集
复习上节课内容
大数据(big
data)的基本概念:指无法在可承受的时间范围内用常规软件工具进行高效捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
数据(data):是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。
数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。
不同的维度
特征
具体表现
互联网产生大数据
大量(Volume)
数据体量巨大,从TB级别跃升到PB级别。
多样(Variety)
数据类型繁多,如网络日志、视频、图片、地理位置信息等。
低价值密度(Value)
价值密度低,以视频为例,在连续不间断的监控过程中,有用的数据可能仅仅一两秒。
高速(Velocity)
变化速度快,数据来自世界各地的网络终端,且以秒为单位快速变化。
互联网思维
样本渐趋于总体
数据要全量而不是抽样,即强调数据规模全量,而不是强调数量巨大。
精确让位于模糊
大数据时代追求的不是精确性,而是模糊性,适当忽略微观层面上的精确度,在宏观层面拥有更好的洞察力。
相关性重于因果
大数据时代应该寻找事物之间的相关关系,无须再紧盯事物之间的因果关系。
大数据存储与计算
分布式存储
大数据存储在互联网不同的服务器与各客户终端。
分布式并行计算
应用分布式并行计算处理互联网的大数据。
大数据对日常生活的影响
正面影响
方便支付。移动支付发展得特别快。应用场所:医院、餐厅、菜市场、加油站等
方便出行。网络约车出行、智能导航行车避免堵车、无人驾驶、智能地图方便寻路
方便购物与产品推介。节省人们出行购物的时间,帮助企业有效判断用户的信息需求和消费需求,对客户进行产品推介,方便人们选购产品。
方便看病与诊病。网络预约挂号,减轻与节省患者排队挂号看病的辛劳与时间;方便医生提前分析患者的病史数据,以便更科学诊病。
负面影响
个人信息泄露。手机、计算机、网络、信用卡等都可能导致数据泄露的风险
信息伤害与诈骗。网络信息可能被不法分子窃取,并对我们及身边的亲人造成伤害。
数据采集的方法和工具
01
数据的存储和保护
02
目录
大数据与乔布斯癌症治疗
乔布斯是世界上第一个对自身所有DNA和肿瘤DNA进行排序的人。为此,他支付了高达几十万美元的费用。他得到的不是样本,而是包括整个基因的数据文档。医生按照所有基因按需下药,最终这种方式帮助乔布斯延长了好几年的生命。
思考:
数据的来源如此广泛,我们要如何进行数据采集呢?用什么方法和工具呢?
一、数据采集的方法和工具
数据采集的基本方法包括系统日志采集法、网络数据采集法和其他数据采集法。
1.系统日志采集法
在信息系统中,系统日志是记录系统硬件、软件和系统问题的信息文件。系统日志包括操作系统日志、应用日志和安全日志。
系统日志采集数据的方法通常是在目标主机上安装一个小程序,将目标主机的文本、应用程序、数据库等日志信息有选择地定向推送到日志服务器进行存储、监控和管理。
        
通过日志服务器可以监视系统中发生的事件,可以检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
系统日志怎么查看
2.网络数据采集法
网络数据采集是指通过网络爬虫或网站公开API(应用程序接口)等方式从网站上获取数据信息。
网络爬虫从一个或若干个初始网页的URL(统一资源定位符)开始,获得初始网页上的URL,在抓取网页的过程中,不断地从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
Python网络数据采集程序使用的扩展库
1.Numpy
构建科学计算最基础的软件库,为Python中的n维数组和矩阵的操作提供了大量有用的功能。
Numpy是用于处理含有同种元素的多维数组运算的第三方库。
2.SciPy
SciPy是一个工程和科学软件库,包含线性代数、优化、集成和统计的模块。它的主要功能建立在Numpy的基础之上
Python网络数据采集程序使用的扩展库
3.Pandas
Pandas是一个Python包,旨在通过标记和关系数据进行工作简单直观。
4.Matplotlib
Matplotlib是Python的一个2D绘图库,以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。在Numpy、SciPy和Pandas的帮助下,通过Matplotlib,开发者仅需输入几行代码,便可以生成绘图、直方图、功率谱、条形图、散点图等。
Python如何使用这些库?
Python如何使用这些库?
1.使用import语句导入模块的语法:
import module
关键名 模块名
例一:import
numpy
#导入numpy库模块
例二:import
numpy
as
ny  #引入numpy库模块,程序代码中用np表示
例三:import
matplotlib.pyplot
as
plt
#调用matplotlib库pyplot方法,用plt表示
2.使用from
import语句导入(从库模块中调用方法):
from
 module
import
 name
关键字 模块名 
关键字 
方法名
from
pylab
import
#引入pylab库模块中的所有方法
from
PLT
import
Image
#从PLT库中调用Image方法
#
-
-
coding:
utf-8
-
-
import
numpy
as
np
#引入numpy库模块,用np替代
import
matplotlib.pyplot
as
plt
#引入matplotlib库模块中的pyplot方法,用plt替代
from
pylab
import
#引入pylab库模块中的所有方法
x
=
np.arange(-5.0,
5.0,
0.02)
#定义x轴数值为-5到5,步长为0.02
y
=
np.sin(x)
#利用正弦函数计算出x轴数值对应的y轴数值你
plt.plot(x,
y)
#利用x,y轴对应的数值绘制出图形
plt.show()
#显示出绘制的图形
程序5-1
matplotlib是提供数据绘图功能的第三方库,其pyplot子库主要用于实现各种数据展示图形的绘制
arrange()函数
函数说明:arange([start,]
stop[,
step,],
dtype=None)根据start与stop指定的范围以及step设定的步长,生成一个
ndarray。
dtype
:
dtype
The
type
of
the
output
array.
If
`dtype`
is
not
given,
infer
the
data
type
from
the
other
input
arguments.
np.arange(0,60,2)
生成从0到60的步距为2的数组,其中0为初始值,60为终值,2步距
np.arange(60
生成从0到59的默认步距为1的数组
运行结果分别为:
[
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58]
[
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59]
range(start,
stop[,
step])
这是一个通用的函数来创建包含算术级数的列表。它最常用于for循环。参数必须是纯整数。如果省略step参数,则默认为1。
如果省略start参数,则默认为0。完整的形式返回一个普通整数列表。如果步骤是肯定的,最后一个元素是小于停止的最大元素;
如果step是负数,最后一个元素是大于stop的最小元素。
步骤不能为零(否则报错)。
实践:课本106页
for
i
in
range(0,
5):
#
循环5次,就是5个页面的商品数据
(1)爬取页面设置
payload['page']
=
i
#
此处为页码,根据网页参数具体设置
resp
=
requests.get(url,
params=payload)
soup
=
bs4.BeautifulSoup(resp.text,
"html.parser")
print(resp.url)
#
打印访问的网址
resp.encoding
=
'utf-8'
#
设置编码
实践:课本106页
all_title
=
soup.find_all('span',
class_="title")
for
j
in
all_title:
soup_title
=
bs4.BeautifulSoup(str(j),
"html.parser",
)
title.append(soup_title.span.string)
(2)爬取商品标题
实践:课本106页
#
店铺名称
all_store
=
soup.find_all('span',
class_="shopNick")
for
k
in
all_store:
soup_store
=
bs4.BeautifulSoup(str(k),
"html.parser",
)
store.append(soup_store.span.string)
(3)爬取店铺名称
实践:课本106页
#
价格
all_price
=
soup.find_all('span',
class_="pricedetail")
for
l
in
all_price:
soup_price
=
bs4.BeautifulSoup(str(l),
"html.parser")
price.append(soup_price.strong.string)
(4)爬取商品价格
实践:课本106页
#
销售量
all_paynum
=
soup.find_all('span',
class_="payNum")
for
m
in
all_paynum:
soup_paynum
=
bs4.BeautifulSoup(str(m),
"html.parser")
paynum.append(soup_paynum.span.string)
(5)爬取商品销售量
运行结果
谢谢观看

展开更多......

收起↑

资源列表