头歌答案Python——JSON基础

文章介绍了Python中的JSON基础,包括手动编写和使用json库操作JSON数据,以及XPath在XML处理中的应用,涉及路径表达式、轴定位和解析HTML。同时概述了爬虫的基础概念和Python爬虫的入门步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

​编辑

Python——JSON基础

第1关:JSON篇:JSON基础知识

任务描述

第2关:JSON篇:使用json库 

任务描述

Python——XPath基础

第1关:XPath 路径表达式

任务描述

第2关:XPath 轴定位 

任务描述

第3关:XPath 解析 

任务描述

Python:什么是爬虫

第1关:什么是爬虫

任务描述

第2关:python 怎么做爬虫 

任务描述


Python——JSON基础

第1关:JSON篇:JSON基础知识

任务描述

本关任务:手动编写一个 JSON 格式的数据文件。

{"count":3 , 
    "students":
    [
        {"name":"赵昊" , "age":15 , "ismale" :true },
        {"name":"龙傲天" , "age":16 , "ismale" :true},
        {"name":"玛丽苏" , "age":15 , "ismale" : false}
    ]
}

第2关:JSON篇:使用json库 

任务描述

本关任务:编写一个能读取并修改 JSON 数据的程序。

import json
 
def Func():
    data = open("step2/2017.txt","r",encoding = "utf-8")
 
    obj = json.load(data)
 
    data.close()
    
    #********** Begin *********#
    obj["count"]=4
#修改键值对,把学生数从3改为4
    obj["infos"][0]["age"]=16
    obj["infos"][1]["age"]=17
    obj["infos"][2]["age"]=16
    obj["infos"].append({"name":"叶良辰","age":17,"height":1.87,"sex":"男性"})
 
    #********** End **********#
    output = open("step2/2018.txt","w",encoding = "utf-8")
    json.dump(obj,output) #输出到文件
    output.close()

Python——XPath基础

第1关:XPath 路径表达式

任务描述

本关任务:根据给定的 xml 文档,使用 XPath 表达式选取指定内容。

1.选取bookstore元素的所有子节点
********** Begin *********
bookstore
*********** End **********
 
2.选取所有拥有名为 lang 的属性的 title 元素
********** Begin *********
//title[@lang]
*********** End **********
 
3.选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性和值为good的class属性
********** Begin *********
//title[@lang='eng' and @class="good"] 
*********** End **********
 
4.选取属于 bookstore 子元素的book元素下的所有文本内容
********** Begin *********
/bookstore/book/text()
*********** End **********
 
5.选取属于 bookstore 子元素的第一个 book 元素
********** Begin *********
/bookstore/book[1]
 
*********** End **********

第2关:XPath 轴定位 

任务描述

本关任务:根据给定的 xml 文档,使用 XPath 表达式选取指定内容。

1.选取所有属于当前节点的子元素的 book 节点
********** Begin *********        
child::book
*********** End **********
 
2.选取当前节点的 lang 属性
********** Begin *********        
attribute::lang
*********** End **********
 
3.选取当前节点的所有 price 孙节点
********** Begin *********        
child::*/child::price
*********** End **********

第3关:XPath 解析 

任务描述

本关任务:编写解析 HTML 文件的 Python 程序

# 导入lxml库
from lxml import etree
# 读取lll.html文件并转化为元素树对象
parse = etree.HTMLParser(encoding='utf-8')
tree = etree.parse('src/step3/lll.html', parse)
# 补充xpath表达式,获取所有书的名称
# ********** Begin ********* #       
print(tree.xpath('//bookstore/book/title/text()'))
# *********** End ********** #
# 补充xpath表达式,获取所有书的价格
# ********** Begin ********* #       
print(tree.xpath('//bookstore/book/price/text()'))
# *********** End ********** #
# 填写代码, 获取价格低于30的书名
# ********** Begin ********* #       
print(tree.xpath('//bookstore/book[price < 30.00]/title/text()')[0])
# *********** End ********** #

Python:什么是爬虫

第1关:什么是爬虫

任务描述

本关任务:学习本关知识,完成选择题。

1、下面哪句符合爬虫的描述

自动化从网络上收集需要的信息

2、下面哪些语言是网页的构成部分

HTML

CSS

3、下面谁定义了网页的基本结构

HTML

4、下列哪个文件与爬虫有关?

robots.txt

5、爬虫用到的网络协议是?

HTTP

6、防范爬虫的策略有

验证码限制

设置User-Agent

7、下列关于统一资源定位符,哪项是错误的

一个域名必须对应一个IP地址 一个IP地址也必须对应一个域名

8、客户端HTTP请求格式包括

请求数据

请求行

请求头部

9、服务端HTTP响应格式包括

响应正文

响应报头

状态行

10、下列响应状态码描述正确的有

500表示请求未完成

第2关:python 怎么做爬虫 

任务描述

本关任务:学习本关知识,完成选择题。

1、只有 Python 才可以做爬虫?

其他语言也可

2、哪一步不属于python爬虫步骤?

连接数据库

训练机器学习模型

3、下列哪些库可以用来做爬虫?

urllib3

requests

4、下列哪些事情是urllib3不能做的?

构建一个HTTP服务器

连接SQL数据库

解析HTML文档

5、下列哪些事情是 bs4 可以做到的?

解析HTML文档

支持CSS选择器

6、下列关于 bs4 中的对象描述正确的是?

bs4.element.Tag类:表示HTML中的标签

bs4.BeautifulSoup类:表示HTML DOM中的全部内容,支持遍历文档树和搜索文档树的大部分方法

7、下面关于 BeautifulSoup 的使用错误的有?

import BeautifulSoup from bs4

soup = new BeautifulSoup("data")

8、下面哪一项不属于 json 值

None

{name: "xiaoming"}

9、下列 python json 库介绍错误的有?

使用 json 库可以不用导入

json.dump(): 读取文件中JSON形式的字符串元素,转换成Python类型

10、python 爬虫不需要的库有?

numpy

flask

### 回答1: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。它基于JavaScript语言的一个子集,但是可以被多种编程语言使用。JSON数据格式由键值对组成,键和值之间用冒号分隔,键值对之间用逗号分隔,整个数据用花括号包裹。JSON数据可以嵌套,也可以包含数组。JSON数据格式的优点是易于解析和生成,同时也易于传输和存储。 ### 回答2: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在Web应用中广泛使用。与XML类似,JSON也能够存储和传输数据,但是它更加简单、易于读写、易于理解和编写,且更适合于网络数据传输。 JSON的语法规则很简洁,由两大基本数据类型和三种基本结构构成。基本数据类型包括“对象”和“数组”,结构包括“键值对”、“值”列表和“对象”列表。其中,对象由一系列“键值对”构成,而数组则由一个有序的“值”列表构成。 JSON常见的使用场景有两个:一个是把JSON作为数据格式来传递数据,这通常通过HTTP请求进行。另一个是把JSON用来构建Web应用中的前端交互,例如AJAX的使用,前端通过请求JSON数据并将其解析成JavaScript对象来动态更新网页展示的数据等。 JSON有些特点需要我们注意。首先,JSON中的数据都是以明确的方式描述的,这使得解析和处理JSON相对容易。其次,JSON是一种独立的数据格式,与语言无关,可以很方便地用在不同的编程语言中。此外,因为其轻量级特性,JSON也逐渐成为了使用最广泛的数据交换格式之一。 在使用JSON的过程中,我们需要了解JSON的语法和结构,并根据需要进行存储、格式化、解析等操作。同时,我们还需要注意JSON的安全问题,例如数据类型不一致、格式不正确等,这些问题可能会导致代码出现漏洞或安全问题。因此,在使用JSON时我们需要保持警觉,严格遵守JSON的规范和安全标准,以免出现不必要的错误。 ### 回答3: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有易读、易解释、易编写和易于开发的特点。它的设计目的是为了与JavaScript编程语言的正常操作相匹配,并且已经成为了一种事实上的数据交换标准。 JSON由两个结构构成:键值对和数组。键值对使用:分隔符分开键和值,使用,分隔符分开不同的键值对;数组使用[]表示,元素之间使用,分隔符分开。 JSON是一个纯文本格式,可以使用任何文本编辑器进行编辑。但是,所有的数据都需要严格遵守JSON格式。不允许出现未经转义的双引号、单引号、换行符等。 JSON的使用非常广泛,特别是在前端开发中,常用于实现Ajax异步数据传输和一些API接口的数据交换。与XML相比,JSON更加轻量级和易读,也更加方便JavaScript中的操作。 除此之外,还有一些和JSON相关的概念,如JSON Schema用于验证数据是否符合JSON格式,JSONP用于实现跨域请求数据等。 总之,了解JSON基础知识是前端开发中必备的技能之一,掌握JSON的语法规则和正确地处理JSON数据可以使开发更加高效和优雅。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值