数据采集习题参考答案,会持续更新,点个关注防丢失。为了方便寻找,按照头歌的门类从新整理了实训的分类,朋友们记得看标题哦,按标题寻找! 该篇为爬虫知识储备!
文章目录
实训一:HTML基础
第一关:初识HTML:简单的Hello World网页制作
第一关答案
第二关:HTML结构:自我简介网页
第二关答案
实训二:HTML文本
第一关:HTML链接:带超链接的网页
第二关:HTML标题与段落:网络文章网页
第三关:HTML表格:日常消费账单表格展示网页
第三关答案
实训三:HTML——基本标签
第一关创建第一个 HTML 标签
第二关:创建 <h1>-<h6>
第三关创建 p 标签
第三关答案
第四关创建 a 标签
第四关答案
第五关创建 img 标签
第五关答案
第六关创建 div 标签
第六关答案
第七关添加注释
第七关答案
实训四:HTTP基础
第一关HTTP 标准
第二关开发者工具的基本使用
第二关答案
实训五:Python——JSON基础
第一关JSON篇:JSON基础知识
第二关JSON篇:使用json库
实训六:Python——XPath基础
第一关:XPath 路径表达式
第一关答案
第二关:XPath 轴定位
第二关答案
第三关:XPath 解析
第三关答案
(,超文本标记语言)是一种用于创建页面和应用的标准化标记语言。在(,级联样式表单)和的帮助下,已经成功构建了一整套面向的开发与应用平台。
自年面世,陆续推出了得到广泛应用的和标准,年标准的面世使其在多媒体和移动性方面得到了全面提升,使迎来了新的爆发式发展。
本习题面向零基础、入门级的技术学员,将介绍的基本概念和结构,体验一个简单的网页制作过程,以及一个相对完整的页面的制作过程。
本关的任务是编写一个简单的页面,这个网页包含一个标题和一个段落。显示效果如下:
是一种标准化的标记语⾔,由一套标记标签组成。前端开发人员的一项主要工作就是利用标签来编写⽹页,将文本、超链接、图片、语音、视频等各种内容整合起来,实现绚丽多姿的网页。
下面是大家需要记住的关于的一些基本描述:
-
标记标签,通常简称标签;
-
文档,通常简称页面、网页等;
-
能够较好的兼容之前版本,但也废弃了一些旧的特性。
-
、,,,,等都是标签;
-
,等都是元素;
-
、都是元素的属性。
第一关答案
本关任务是编写一个自我简介网页,你将通过本任务理解一个网页的完整结构,并了解如何让搜索引擎更好的找到你的网页。
显示效果如下图所示:
根元素:HTML 元素
然后,元素告知浏览器其本身是一个文档。
除去第一行外,其余的页面内容都应该包含在元素中,所以它也被称为根元素。
头元素:head 元素
与属性会给元素增添附加信息一样,元素能为整个网页增添更多信息。可以用在中的标签有,, , , , 以及 。在之后的学习中,你将逐渐的了解它们。
网页标题元素:title
本例网页主要内容是“自我简介”,所以也设置为“自我简介”。 元素的内容即网页标题,它是一个网页必需的元素之一。
的内容一般作为网页标签名,写法如下:
第二关答案
本关的任务是编写一个带超链接的页面,链接包含页面内导航链接和跳转其他网页的链接。显示效果如下:
超链接是网页互连的核心,网页之间通过超链接连接在一起。
我们使用 标签定义超链接。
一个简单的例子如下:
点击元素内容后打开百度搜索网页。
其中,属性指定了超链接的目标,本例中即跳转到百度。
属性
href 属性
属性是超链接最重要的属性,它用于指定超链接目标的 URL。
典型的超链接格式如下:
其中,目标URL有三种类型:
-
锚 :指向同一页面内某一位置;
-
相对 :指向同一网站的不同文件;
-
绝对 :指向另一个网站。
提示:
-
:,统一资源定位器;
-
为什么叫作锚呢?
的含义取于船上的锚,船把锚沉在水底后,如果船随水飘移了,只要一拉锚的锁链就会回到抛锚的位置。同样的,在中点就能回到指定位置。
本关任务是完成一个格式丰富的文章网页,你将通过本关学习标题、段落、文本格式化和引用等,与文本相关的标签。
提供了六级标题用于创建网页信息的层级关系。 定义重要等级最高的标题,之后到层级依次递减。
本关任务是编写一个日常消费账单表格展示网页,你将通过本关学习如何使用编写出简洁清晰的表格。
在表中,一个表格由行组成,每一行由单元格组成,单元格有标题单元格和数据单元格。
-
我们设定了元素的属性,改变了表格的宽度;
-
我们使用元素设置了表格的标题;
-
数据第一行元素中,使用元素指定了表头。本例中有三列信息,所以包含了三个元素;
-
并且,我们设置了元素的属性的值为。
第三关答案
本关任务:创建你的第一个标签,文本内容为。
上面这行代码它表示一个HTML。
大多数 HTML 元素都是由和组成的,通常成对出现 。
开始标签:用尖括号包裹关键词,像这样。 结束标签:用包裹和开始标签一样的关键词,像这样。
可以发现: 结束标签就比开始标签多了一个斜杠。
本关任务:依次创建标签,文本内容为,查看它们的区别。
第一关已经创建了标签,它是干什么的呢? 它一般用来创建标题。
另外,也用来创建标题,它们有什么区别呢? 的字体比的字体要大。
当然, ,,,也用来创建标题,它们的字体依次减小。
注意:创建标题只有 ,没有 ,的。
本关任务:创建一个标签,文本内容为。
元素通常用来表示一个段落。
你可以这样创建一个标签,
第三关答案
本关任务:创建一个标签, 跳转的地址是,文本内容是。
标签通常用来定义一个链接。属性的值就是链接的地址。
你可以这样创建一个标签,。当你点击这个链接时,它就会跳转到百度首页。
第四关答案
本关任务:创建一个标签, 图片的地址是,提示文字是。
效果如下:
标签通常用来表示一个图片。属性的值就是图片的地址,属性的值是当图片没有展现出来时提示的文字 。
你可以这样创建一个标签, 。
这样图片就显示出来了。
第五关答案
本关任务:创建一个标签, 文本内容是。
效果如下:
标签可以把文档分割为独立的、不同的部分。它没有实际的意义,仅仅表示创建了一个块级元素。
你可以这样创建一个标签,。
可以发现:它和 ,标签的创建是一样的,只不过它没有实际的意义。
第六关答案
本关任务:注释掉 标签,同时在标签上方添加注释说明。
什么是注释? 为什么要添加注释呢?
注释是解释性文本,在运行程序时,会被程序跳过,不做处理。
注释有两个作用:
- 可以给代码添加文字说明,便于代码阅读和日后维护;
- 对于暂时不用但又不能删除的代码,可以添加注释保存下来;
如何添加注释呢?
表示注释的开始, 表示注释的结束,这样就可以添加提示说明和注释元素了。
你可以这样注释标签和添加文字说明。
第七关答案
HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,减少网络传输。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪部分,以及哪部分内容优先显示等。python 爬虫开发,主要就是和 HTTP 协议打交道。 本实训主要介绍了网络爬虫的基础知识,包括 HTTP 的状态码、HTTP 消息头、HTTP 请求方式和 HTTP 工作原理等 HTTP 相关知识以及谷歌(Chrome)浏览器的开发者工具简介。
本关任务:掌握 HTTP 的相关知识,完成相关选择题。
HTTP 是一个客户端终端和服务器端请求和应答的标准。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个 HTTP 请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如 HTML 文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)。 尽管 TCP/IP 协议是互联网上最流行的应用,HTTP 协议中,并没有规定必须使用它或它支持的层。事实上,HTTP 可以在任何互联网协议上,或其他网络上实现。HTTP 假定其下层协议提供可靠的传输。因此,任何能够提供这种保证的协议都可以被其使用。因此也就是其在 TCP/IP 协议族使用 TCP 作为其传输层。
答案:1.B 2.B 3.D
本关任务:了解开发者工具对于爬虫的用途。
开发者工具是一套内置于浏览器中的 Web 开发和调试工具,可用来对网站进行迭代、调试和分析。 对于爬虫实战来说,可以通过开发者工具快捷的定位元素,获取中途请求文件和查看网页结构等极其强大与便捷的用途。
第二关答案
答案:1.C 2.B
在现实世界中,人与人之间的交流,需要建立在某种大家都能听懂的语言基础上。而在计算机领域中,各个系统之间的交流通信,也需要建立在某种公共的格式上。 本次实训将介绍:JSON 数据格式,学习使用 Python 对它们进行解析的方法,以此拓展我们的知识面,让我们能写出更加实用的 Python 程序。
本关任务:手动编写一个 JSON 格式的数据文件。
JSON 全称:Javascript Object Notation(Javascript 对象表示法),是一种轻量级的文本数据交换格式。与接下来要介绍的 XML 相比,拥有更小、更快、更易解析的特点。
本关任务:编写一个能读取并修改 JSON 数据的程序。
库是 Python 内置的一个用于操作 JSON 数据的库,提供了几个函数用于解析与生成(或者说反序列化与序列化)JSON 格式的数据。
详情见此篇博文:
Python--JSON基础_宇阷的博客-CSDN博客
为了完成本关任务,你需要了解 XPath 路径表达式的基本语法,理解节点的基本类型,完成节点的获取、属性的匹配获取、多属性的匹配获取、文本的获取、按序选择等。
节点的基本类型
XPath 是一门在 XML 文档中查找信息的语言,虽然是被设计用来搜寻 XML 文档的,但是它也能应用于 HTML 文档,并且大部分浏览器也支持通过 XPath 来查询节点。在 Python 爬虫开发中,经常使用 XPath 查找提取网页中的信息,因此 XPath 非常重要。
在 XPath 中, XML 文档是被作为节点树来对待的,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。树的根被称为文档节点或者根节点。
根节点(Root Node)
根节点是一棵树的最顶层,根节点是唯一的。树上其它所有元素节点都是它的子节点或后代节点。对根节点的处理机制与其它节点相同。对树的匹配总是先从根节点开始。文档中的即为根节点。
元素节点(Element Nodes)
元素节点相对应的是文档中每个元素,一个元素节点的子节点可以为元素节点、注释节点、处理指令节点和文本节点。元素节点可以定义一个唯一的标识(id)。元素节点可以有拓展名,由两部分组成:命名空间 URL 和本地命名。文档中的即为元素节点。
文本节点(Text Nodes)
文本节点包含一组字符数据,任何一个文本节点都没有相邻的兄弟文本节点,而且文本节点没有扩展名。文档中的即为文本节点。
属性节点(Attribute Nodes)
每个元素节点有一个相关联的属性节点集合,元素是每个属性节点的父节点,但属性节点却不是其父元素的子节点。这就是说,通过查找元素的子节点可以匹配出元素的属性节点,但反过来不成立,只是单向的。再有,元素的属性节点没有共享性,也就是说不同的元素节点不共有同一个属性节点。文档中的即为属性节点。
命名空间节点(Namespace Nodes)
每个元素节点都有一个相关联的命名空间节点集。在 XML 文档中,命名空间是通过保留属性声明的。因此,在 XPath 中,该类节点与属性节点极为相似,它们与父元素之间的关系是单向的,并且不具有共享性。
处理指令节点(Processing Instruction Nodes)
处理指令节点对应于 XML 文档中的每一条处理指令。它也有扩展名,扩展名的本地命名指向处理对象,而命名空间部分为空。
注释节点(Comment Nodes)
注释节点对应于文档中的注释。
Xpath路径表达式的基本语法
XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是沿着路径(path)或者步(steps)来选取的。接下来介绍如何选取节点,首先了解一下常用的路径表达式,来进行节点的选取,如下表所示:
根据路径表达式的规则,我们对上文的的 XML 文档进行节点选取,如下表所示。
谓语的用法如下表所示:
XPath 在进行节点选取的时候可以使用通配符匹配未知的元素,同时使用操作符一次选取多条路径,使用示例如下表所示:
第一关答案
为了完成本关任务,你需要了解:XPath 中如何使用轴定位。
轴
在爬虫里面经常要用到定位,XPath 定位有着举足轻重的地位,因为它功能很强大。结合它里面的文本定位、模糊定位、逻辑定位等,基本能搞定所有的元素定位问题。
轴定义了所选节点与当前节点之间的树关系。在 Python 爬虫开发中,提取网页中的信息时,会遇到这种情况:首先提取到一个节点的信息,然后想在在这个节点的基础上提取它的子节点或者父节点,这时候就会用到轴的概念。轴的存在会使提取变得更加灵活和准确。
在上一关,我们了解了位置路径表达式中的相对位置路径、绝对位置路径和步的概念。位置路径可以是绝对的,也可以是相对的。绝对路径起始于正斜杠,而相对路径不会这样。在两种情况中,位置路径均包括一个或多个步,每个步均被斜杠分割: (绝对位置路径), (相对位置路径)。
步(step)包括:轴(axis)、节点测试( node-test)、零个或者更多谓语( predicate),用来更深入地提炼所选的节点集。XPath 中的轴名及含义如下表所示:
轴的使用
轴需要通过步的语法,来实现节点的选取。步的语法为:,大家可能觉比较抽象。下面通过案例演示来帮助理解,XML 文档示例如下所示:
第二关答案
本关任务:编写解析 HTML 文件的 Python 程序。
为了完成本关任务,你需要掌握:Python 环境下使用 XPath 对 HTML 文件进行解析。
lxml的安装
lxml 是 一个 HTML/XML 的解析器,主要的功能是解析和提取 HTML/XML 数据。lxml 和正则一样,也是用 C 实现的,是一款高性能的 Python HTML/XML 解析器,我们可以利用之前学习的 XPath 语法,来快速地定位特定元素以及节点信息。
如果本地 Python 环境没有安装 lxml,可以在窗口输入命令,安装 lxml 模块,如下图所示。
lxml的使用
使用 lxml,需要先导入相关包,语法如下:
现在有如下 HTML 代码,需要获取第一个 book 节点下的 title 节点中的 class 的属性值:
使用 xpath 表达式解析网页之前,需要获取,这里有两种方法:
- 如果上述代码为本地文件,并且文件名为,获取的代码如下所示:
- 如果上述代码为字符串类型变量,并且变量名为,获取的代码如下所示:
获取后,就可以使用 XPath 表达式解析网页了,代码如下所示:
完成上述指定任务有多种实现方式,以下演示了四种不同的 XPath 表达式,都能够获取第一个 book 节点下的 title 节点中的 class 的属性值。
以上代码都可以获取图中红框部分的内容。
第三关答案
在学习中成功、在学习中进步!我们一起学习不放弃~
记得三连哦~ 你们的支持是我最大的动力!!欢迎大家阅读往期文章哈~
小编联系方式如下,欢迎各位巨佬沟通交流,代码什么的加小编私聊哦~
以上就是本篇文章【两万字详细爬虫知识储备,数据采集与清洗基础习题(一)头歌参考答案】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/3278.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多