爬虫期末复习

1.常见大数据来源

社交媒体、社交网络、百科知识库、新闻网站、评论信息、位置型信息

2.大数据采集技术的重要性

(1)若干个重要环节,包括数据采集、结构化处理、数据存储、分析挖掘、可视化、共享交易等;

(2)大数据采集处于整个架构的底层,是整个架构的基础;

(3)大数据采集技术性能的好坏直接影响到数据采集的效率和数据的质量。

3.Python语言生态

(1)开源软件和插件

(2)涵盖科学计算、语言处理、文本挖掘、图像处理等等

(3)选择Python语言进行互联网大数据采集技术的实现具有一定实际意义和必要性

4.爬虫技术应用场景

采集型、监测型

5.什么是采集和监测爬虫

采集型爬虫的典型使用场景包括互联网搜索引擎、互联网舆情监测、社交媒体评论信息监测、学术论文采集、离线浏览;

监测型爬虫的典型使用场景包括应用安全监测、网页挂马、SQL注入 、内容安全监测、敏感信息、泄密信息。

6.法律与技术边界

互联网公开资源爬取并不违法,网络爬虫作为互联网大数据采集的技术手段,本身具有中立性。而抓取没有权限、没有授权的数据,对服务器正常运行产生影响,以及抓取后的数据用于商业用途、未经授权公开展示,应该是突破了爬虫大数据采集的边界。

7.编码体系与规范

(1)国内常见的网页字符编码主要有utf-8、gbk、gb2312,其中utf-8为国际化编码;

(2)Unicode是Python默认编码;

(3)utf-8/gbk/gb2312之间的转换(填空):在python中,使用encode()将unicode编码为utf-8、gbk等,而使用decode()将utf-8、gbk等字符编码解码为unicode;

>>> n='大数据'                        #unicode

>>> g=n.encode('gbk')                 #gbk

>>> u=n.encode('utf-8')               #utf-8

>>> g2=n.encode('gb2312')             #gb2312

>>> g2u=g.decode("gbk").encode("utf-8")   #gbk转成utf-8

(4)BeautifulSoup将输出文档自动转换成utf-8编码。

8.正则表达式(findall、match从头开始匹配、soup、search)——重点

re模块提供了正则表达式匹配所需要的功能:匹配和搜索、分割字符串、匹配和替换。

9.Web服务器的应用架构

(1)四种经典架构:Client/Server、Client/Server/Database、Web服务器集群、虚拟主机架构

(2)web页面类型:静态页面(以html文件的形式存在于Web服务器的硬盘上)、动态页面(需要数据库等其他计算、存储服务的支持)、伪静态页面(以静态页面展现出来,但实际上是用动态脚本来处理的)。

10.Robots协议的定义及如何获取

Robots协议又称为爬虫协议、机器人协议等,其全称是Robots Exclusion Protocol,即“网络爬虫排除协议”。在浏览器中打开网站后,在网站首页的地址后面添加“/robots.txt”,如果网站设置了访问许可,按回车就可以看到网站的robots协议,即robots.txt文件内容。

11.http协议(基本原理(URI标志和URL定位))

URI 的全称为 Uniform Resource Identifier,即统一资源标志符;而 URL 的全称为 Universal Resource Locator,即统一资源定位符。URN的全称为 Universal Resource Name,即统一资源名称。

12.URI.URL.URN之间的关系

URL 是 URI 的子集,URN是URI 的一个子类

13.URL的格式(选择/填空)

scheme://[username:password@]hostname[:port][/path][;parameters][?query][#fragment]

scheme:协议,比如常用的协议有 http、https、ftp 等

username、password:用户名和密码

hostname:主机地址。可以是域名或 IP 地址

port:端口

path:路径,指的是网络资源在服务器中的指定地址

parameters:参数,用来制定访问某个资源的时候的附加信息

query:查询

fragment:片段。它是对资源描述的部分补充,可以理解为资源内部的书签。

14.http和HTTPS之间的区别

HTTP 的全称是 Hyper Text Transfer Protocol,中文名叫作超文本传输协议。HTTP 协议是用于从网络传输超文本数据到本地浏览器的传送协议,它能保证高效而准确地传送超文本文档。HTTPS 的全称是 Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版,即在 HTTP 下加入 SSL 层,简称为 HTTPS。HTTPS 的安全基础是 SSL,因此通过它传输的内容都是经过 SSL 加密的。

15.get和post的区别(简答)

常见的请求方法有两种:GET 和 POST。

GET 请求中的参数包含在 URL 里面,数据可以在 URL 中看到;而 POST 请求的 URL 不会包含这些数据,数据都是通过表单形式传输的,会包含在请求体中。

GET 请求提交的数据最多只有 1024 字节,而 POST 方式没有限制。

16.cookie和session之间的关系(客户端cookie、服务器session)

Session 在服务端,也就是网站的服务器,用来保存用户的 Session 信息;Cookie 在客户端,也可以理解为浏览器端,有了 Cookie,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器通过识别 Cookie 并鉴定出是哪个用户,然后再判断用户是否是登录状态,然后返回对应的响应。

17.发送请求URLopen的参数和方法request等

(1)利用 urlopen 方法可以实现最基本请求的发起,利用它可以模拟浏览器的一个请求发起过程。

urllib.request.urlopen(url, data=None, [timeout,]*, cafile=None, capath=None, cadefault=False, context=None)

data 参数是可选的。如果要添加该参数,需要使用 bytes 方法将参数转化为字节流编码格式的内容,即 bytes 类型。另外,如果传递了这个参数,则它的请求方式就不再是 GET 方式,而是 POST 方式。

timeout 参数用于设置超时时间,单位为秒,意思就是如果请求超出了设置的这个时间,还没有得到响应,就会抛出异常。

context 参数必须是 ssl.SSLContext 类型,用来指定 SSL 设置。

cafile 和 capath 这两个参数分别指定 CA 证书和它的路径,这个在请求 HTTPS 链接时会有用。

(2)urllib.request.Request(url,data=None,headers={},origin_

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悦小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值